3
#include<stdio.h>
int main()
{
  printf("%d\n", 4 ?: 8);
}

?C 標準によれば、このプログラムはとの間に式がないため無効です:。しかし興味深いのは、出力しているコードをコンパイルすると、コンパイル エラーが表示されず4に出力されることです。4

4

1 に答える 1

6

これはgcc拡張機能です。

x ? : y

と同等です

x ? x : y

詳しくはこちらをご覧ください。

于 2013-06-23T13:17:30.923 に答える