Что означает такое заявление?
int x = ( { int a; scanf( "%d", &a ); a ; } ) ;
Он компилируется и работает эквивалентно:
int x;
scanf( "%d", &x );
Похоже на какой-то анонимный вызов функции или что-то в этом роде, но я не уверен. Я не сталкивался с утверждениями, подобными ({})
, и не могу найти никаких объяснений в Интернете. Любая помощь будет очень признательна, спасибо :)
Контекст:
Это код, который вы получаете, когда раскрываются макросы в следующем коде:
#define SI ({int a;scanf("%d",&a);a;});
int x = SI;
Это код, используемый кем-то на соревнованиях по программированию.