[問題] a++ ++a 的問題
#define SQR(x) ((x)*(x))
int y=1
SQR(++y)→((++y)*(++y))=3*3=9
++y 為先加1 那不是 2*2=4 ?
SQR(y++)→((y++)*(y++))=1*1=1
先執行y 再加1 所以1*1沒錯吧?
printf("%d %d",SQR(y++),SQR(++y))→9 9
不是該1跟4嗎?
另一題
int i=5,x=10;
printf("%d %d %d",x+++--i,x,i);
printf("%d %d"x,i);
答案執行結果14 10 5 跟 11 4
想問第一行的x跟i不是已改變為11跟4?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.128.32
→
10/25 22:25, , 1F
10/25 22:25, 1F
→
10/25 22:28, , 2F
10/25 22:28, 2F
→
10/25 22:28, , 3F
10/25 22:28, 3F
推
10/25 22:30, , 4F
10/25 22:30, 4F
→
10/25 22:30, , 5F
10/25 22:30, 5F
推
10/25 22:31, , 6F
10/25 22:31, 6F
→
10/25 22:34, , 7F
10/25 22:34, 7F
→
10/25 22:34, , 8F
10/25 22:34, 8F
→
10/25 22:37, , 9F
10/25 22:37, 9F
→
10/25 22:39, , 10F
10/25 22:39, 10F
→
10/25 22:40, , 11F
10/25 22:40, 11F
→
10/25 22:40, , 12F
10/25 22:40, 12F
→
10/25 22:42, , 13F
10/25 22:42, 13F
→
10/25 22:42, , 14F
10/25 22:42, 14F
→
10/25 22:42, , 15F
10/25 22:42, 15F
→
10/25 22:44, , 16F
10/25 22:44, 16F
→
10/25 22:46, , 17F
10/25 22:46, 17F
→
10/25 22:48, , 18F
10/25 22:48, 18F
→
10/25 22:50, , 19F
10/25 22:50, 19F
→
10/25 22:53, , 20F
10/25 22:53, 20F
推
10/25 22:53, , 21F
10/25 22:53, 21F
→
10/25 22:53, , 22F
10/25 22:53, 22F
→
10/25 22:53, , 23F
10/25 22:53, 23F
→
10/25 22:54, , 24F
10/25 22:54, 24F
→
10/25 22:54, , 25F
10/25 22:54, 25F
→
10/25 23:08, , 26F
10/25 23:08, 26F
→
10/25 23:14, , 27F
10/25 23:14, 27F
→
10/25 23:19, , 28F
10/25 23:19, 28F
→
10/25 23:53, , 29F
10/25 23:53, 29F
推
10/25 23:54, , 30F
10/25 23:54, 30F
→
10/25 23:54, , 31F
10/25 23:54, 31F
→
10/25 23:55, , 32F
10/25 23:55, 32F
→
10/25 23:57, , 33F
10/25 23:57, 33F
推
10/26 00:04, , 34F
10/26 00:04, 34F
→
10/26 00:35, , 35F
10/26 00:35, 35F
→
10/26 00:37, , 36F
10/26 00:37, 36F
→
10/26 01:43, , 37F
10/26 01:43, 37F
→
10/26 01:44, , 38F
10/26 01:44, 38F
→
10/26 02:12, , 39F
10/26 02:12, 39F
→
10/26 02:12, , 40F
10/26 02:12, 40F
推
10/27 20:15, , 41F
10/27 20:15, 41F