Показать сообщение отдельно

  #1462  
Старый 30.08.2008, 10:13
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

Цитата:
Вообщето правило области видимости, работает для фукнций, а не для составных операторов и для тел циклов, если мне не изменяет память...
Ты не прав: вот тебе пример:

Код:
#include "stdio.h"

int main() {
    int x = 1;
	printf("1: %d\n", x);
	{
		printf("2: %d\n", x);
        int x = 2;
		printf("3: %d\n", x);
	}
	printf("4: %d\n", x);
	getchar();
	return 0;
}
Переменная, объявленная во внутреннем блоке, замещает ту, которая объявлена во внешнем(примеры 2 и 3 в программе). Однако в конце блока она исчезает(примеры 3 и 4)


Цитата:
P.S. У меня на Визуал С++ 6 скомпилировалось без ошибок.
Очень старый компилятор. Обнови.
Более новые версии уже не компилят этот код. И правильно делают - в коде ошибка.
 
Ответить с цитированием