トップページ
>
プログラム
>
2015年02月16日
>
93EvvdXC
書き込み順位&時間帯一覧
14 位
/216 ID中
時間
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Total
書き込み数
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
3
使用した名前一覧
書き込んだスレッド一覧
デフォルトの名無しさん
20
【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©2ch.net
書き込みレス一覧
【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©2ch.net
20 :
デフォルトの名無しさん
[sage]:2015/02/16(月) 18:07:52.66 ID:93EvvdXC
if( *a++ = *b++ ){
・・・
}
の時、
@aが\0だったら抜ける
Abが\0だったら抜ける
B*aに*bを代入する
Caを加算する
Dbを加算する
E・・・の実行
で合ってますかね。
【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©2ch.net
23 :
デフォルトの名無しさん
[sage]:2015/02/16(月) 18:51:03.76 ID:93EvvdXC
はー、なるほど、
(*a=*b)で条件が(*a)になって (*a) だけが評価されるようになるんですね。
代入の後に加算するから、加算した後の*aが\0だったら抜けるって事ですね。
はー、なるほど、目から鱗ですわ
【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©2ch.net
26 :
20
[sage]:2015/02/16(月) 19:40:17.40 ID:93EvvdXC
なるほど、
後置++は式全体(この場合ifの判断も含む)を実行した後に加算されるって事ですね。
(*a=*b) で代入して、(*a)がfalseか判断して、if( )の式が終わった時点でa++,b++を実行って事ですね。
よく分かりました。勉強になりました。
※このページは、
『2ちゃんねる』
の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合は
メール
をしてください。対応します。