Как-то по многим блогам эта тема недавно пробегала, но надо отдать должное, вопрос почему эта программа, будучи откомпилированной в Студии, печатает “1” вместо “0”, озадачивает даже опытных программистов на С++ (или по крайней мере они дают неправильное объяснение причины происходящего).
#include <iostream> volatile const char* p = "0"; int main() { std::cout << p << std::endl; return 0; }
Для получение схожего эффекта в GCC надо заменить “0” на “false”.