ヘッダー ファイルをスキップして main を無効にしています...
コード 1:-
int a = 5 , c ;
c = a++ + ++a + a++;
a = 5;
printf("%d %d",a++ + ++a + a++ , c);
___________________________________________________
出力:-
TCC:- (はい、Borlands 3.0 または DOS-blue 環境用のものと呼ばれるもの)
19 18
19 = どのように ? 5+7+7 で、もしそうなら (間違いなく GCC 出力と比較して) 18 ではないのはなぜですか?
18 = 6+6+6 ? (a++ と同等の c 代入コード
;
c=a+a+a;
a++;
a++;) ですね。
なぜ 19 18 なのか?まったく同じコードに対して2つの異なる値?
GCC:-
19 19
19 両方とも 5+7+7 ? 理にかなっている..
今、コード 2:-
int a = 5 , c ;
c = ++a + ++a + ++a;
a = 5;
printf("%d %d",++a + ++a + ++a, c);
_________________________________________________
TCC:-
24 24 24 同じロジック 8+8+8 (a
++;
a++;
a++;
c=a+a+a;
と同等の c 割り当てコード
) および a = 8 ;
GCC:-
22 22
22 ? どうやって ?通常のロジックでは 6 + 7 + 8 = 21 ですが、出力は 22 ?
次に 6+8+8 で、もしそうならどうやって?