16/10/04 13:21:20.06 6mv8IhAQ0.net
>>981
大抵の知ったかぶりは自覚のない無知
1001:デフォルトの名無しさん (ワッチョイ cfdb-2pTf)
16/10/04 15:13:25.81 EsaflMwe0.net
printf("a = %d\n",a = a + a++ + a);
printf("b = %d\n",b = b + ++b + b);
表示される値はそれぞれいくつでしょうか?
分かりやすく教えて頂けると幸いです。
1002:デフォルトの名無しさん (ワッチョイ 4b7b-dvmP)
16/10/04 15:24:01.59 qi1/fBX60.net
試せ
1003:デフォルトの名無しさん (ワッチョイ ef3c-RPp1)
16/10/04 15:24:13.13 ierS0lm90.net
副作用完了点までに多重に参照してるので鼻から悪魔
1004:982 (ワッチョイ cfdb-2pTf)
16/10/04 16:33:38.14 EsaflMwe0.net
>>984
試し済みで答え自体は分かっているのですが、
いまいち要領を得ないで困っています。
ちなみにa=1、b=1でお願いします。
1005:デフォルトの名無しさん (ワッチョイ 6f9f-1sJM)
16/10/04 16:39:50.30 BNPZR97g0.net
こういうのは規格上で違法にすべき
1006:デフォルトの名無しさん (ワッチョイ ef3c-RPp1)
16/10/04 16:52:45.47 ierS0lm90.net
>>986
要領を得ないもなにも 動作未定儀のコードだから 「説明がつかない」
1007:982 (ワッチョイ cfdb-2pTf)
16/10/04 17:09:55.42 EsaflMwe0.net
>>988
すみません。
コード全部書きます。
#include <stdio.h>
int main(){
int a=1,b=1;
printf("a = %d\n",a = a + a++ + a);
printf("b = %d\n",b = b + ++b + b);
return 0;
}
1008:デフォルトの名無しさん (ワッチョイ ef3c-RPp1)
16/10/04 17:18:57.62 ierS0lm90.net
>>989
いや a = a + a++ + a と b = b + ++b + b が規格外の記述
「副作用完了点」を調べて
1009:デフォルトの名無しさん (ワッチョイ ef3c-RPp1)
16/10/04 17:19:51.00 ierS0lm90.net
× 規格外
○ 規格で動作未定儀になってる
1010:982 (ワッチョイ cfdb-2pTf)
16/10/04 17:29:30.69 EsaflMwe0.net
コンパイルするとa=5、b=6って表示されるんですが・・・。
なんででしょう?
1011:デフォルトの名無しさん (ワッチョイ 4b7b-7Sel)
16/10/04 17:57:24.04 6mv8IhAQ0.net
キミが使ったコンパイラはそのような結果になる
他のコンパイラでは別の結果になるかも知れない
それが「動作未定義」
副作用完了点を検索してよく読みなさい
1012:デフォルトの名無しさん (アウアウ Sa77-rzru)
16/10/04 18:22:31.63 VYFD9zNGa.net
5になるんだ。面白いね。想像だけど、aのやつは左からレジスタに入れて、1+1のあとにインクリメントして3になったところに2を足したのかな?アセンブラダンプ見れば分かるんじゃない?
1013:デフォルトの名無しさん (ブーイモ MM8f-SJFH)
16/10/04 19:47:22.08 jdH4W1FCM.net
へーやっぱ違うんだな
ちな2,3 gcc@linux
1014:デフォルトの名無しさん (ブーイモ MM8f-SJFH)
16/10/04 19:49:35.83 jdH4W1FCM.net
って初期値1かよ。今の忘れて…
1015:デフォルトの名無しさん (ワッチョイ 1b7b-m9GF)
16/10/04 20:25:02.56 iEd5oTSN0.net
次
C言語なら俺に聞け 137
スレリンク(tech板)
1016:デフォルトの名無しさん (ワッチョイ 4fc0-iAeO)
16/10/04 21:19:04.23 EHAtSK8l0.net
>>970
嘘
1017:デフォルトの名無しさん (ワッチョイ 6fba-ETlQ)
16/10/04 22:11:24.65 A2L0X7us0.net
>>997
乙
梅
1018:デフォルトの名無しさん (ワッチョイ 4742-RPp1)
16/10/04 22:16:18.46 1LDeTD9L0.net
うめ
1019:デフォルトの名無しさん (ワッチョイ 17d7-RPp1)
16/10/05 00:43:51.88 ZrA9f4Xz0.net
梅
1020:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています