6 行目で、どのような種類の割り当てスタイルを意味するかを示すサンプルを示しました。
1 #include<stdio.h>
2
3 int main(int argc,char *argv[])
4 {
5 int a,b,c;
6 c = ({ a=5; b = a+1;});
7 printf("%d\n%d\n%d\n",a,b,c);
8 return 0;
9 }
が何であるか{}
わかりません。配列で使用される初期化子リストではありませんint arr[]={1,2,3}
。
更新: おそらく、このメソッドを使用して、関数で関数を定義したり、gcc (バージョン 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1)) でバグを定義したりできます。
1 #include<stdio.h>
2 #include<math.h>
3 int main(int argc,char *argv[])
4 {
5 int a,b;
6 b = ({int cos(i){return 0;};a = 0;cos(a);});
7 printf("%d\n%d\n",a,b);
8 b = cos(0);
9 printf("%d\n%d\n",a,b);
10 return 0;
11 }
出力:
0
0
0
1