■ このスレッドは過去ログ倉庫に格納されています
【IT】会社員の「プログラミング教室」通い、本当に意味があるんですか?
- 366 :G神(仮名) ◆wnKpN5Jn0iHq :2020/03/02(月) 18:15:30 ID:bXn+Vpuq.net
- >>354-355
あー、ガチで知らんのだな。マジかー? 勘弁してくれよ。
「++(インクリメント)」や「--(ディクリメント)」を変数の前に書く(++a, --a)か、
変数の後に書く(a++, a--)かで、変数の値を参照するタイミングと、「++(インクリ
メント)」や「--(ディクリメント)」するタイミングが変わるんだよ。
値を参照するタイミングとは、「==」,「<=」等の比較演算子に渡したり、引数
として関数に渡す値を取ること。
void Func(int a) { printf("\r\na = %d",a); } があったとして、
a=0;
Func(++a);
a=0;
Func(a++);
では結果が変わる。
前者はインクリメントした後でFunc関数が呼ばれるので「a = 1」、後者は
インクリメントする前の値をFunc関数に渡すので、結果は「a = 0」になる。
∴ コンパイラの最適化とは無関係。
総レス数 487
122 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200