C語言基礎
int i = 5;
int a = i++;
int b = ++i;
printf("%d %d %d\n", a, b, i);執行上方使用前置與後置 ++ 的程式碼時的輸出,下列何者正確?
- A5 6 6
- B5 7 7
- C6 7 7
查看答案與解析
正確答案:B. 5 7 7
後置的 i++ 以遞增前的值作為運算式的值,之後才把 i 加1。因此 a 得到5,i 變成6。前置的 ++i 先把 i 加1,再以加完後的值作為運算式的值,因此 i 變成7,b 也得到7。輸出為「5 7 7」。
- A. 即使是 i++,i 本身也會增加為6。這是認為 i 仍為5時的值。
- B. 正確。a 是遞增前的5,b 與 i 是遞增兩次後的7。
- C. 後置 i++ 的值是遞增前的5,因此 a 不是6。