C言語なら俺に聞け 136at TECH
C言語なら俺に聞け 136 - 暇つぶし2ch1000:デフォルトの名無しさん (ワッチョイ 4b7b-7Sel)
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:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch