Используя вновь объявленную переменную в инициализации (int x = x + 1)?
Я просто наткнулся на поведение, которое удивило меня:
При написании:
int x = x+1;
в C / C ++ - программе (или даже более сложном выражении, включающем только что созданную переменную x), мой gcc / g ++ компилируется без ошибок. В приведенном выше случае Х равен 1 впоследствии. Обратите внимание, что в предыдущей декларации нет переменной x в области видимости.
Поэтому я хотел бы знать, является ли это правильным поведением (и даже может быть полезным в некоторых ситуациях) или просто особенностью синтаксического анализатора с моей версией gcc или gcc в целом.
Кстати: следующее не работает:
int x++;