作者DiamondDog (戴爾門德‧豆閣)
看板C_and_CPP
標題Re: [問題] C語言遞增與遞減運算子
時間Wed Mar 18 18:33:22 2009
以上推文了解了,感謝各位熱心的指導
現在又有小問題,這一題又沒叫我鍵入i值,為什麼會有數字跑出來?而且跑出3 2?
真的是一頭霧水@@
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
i++;
printf("%d", i); /* prints 1*/
i--;
printf("%d", i); /* prints 1*/
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.35.29
1F:推 saxontai:你的 i 沒有給初值,其內容端看當初留在記憶體內的值。 03/18 18:37
2F:推 stonehomelaa:請養成變數都要初始化的習慣喔 03/18 18:38
3F:→ DiamondDog:這程式是課本上的,我一看也發現沒給初始值 03/18 18:48
4F:→ DiamondDog:但不曉得為什麼沒給初始值,程式會跑出3 2? 03/18 18:48
5F:推 saxontai:因為變數 i 所用到的記憶體的殘值恰巧是 2 03/18 18:49
6F:→ saxontai:要看書,但是不要盡信書中描述或範例,要多驗證。 03/18 18:50
7F:→ DiamondDog:soga...所以i=i+1=2+1=3;i=i-1=3-1=2,跑出3 2 03/18 18:52
8F:→ DiamondDog:我就是自修看書呀,這範例漏了一行初始值... 03/18 18:52
9F:推 saxontai:我的重點是不要全信,要多驗證 XD 03/18 19:03
10F:→ DiamondDog:瞭瞭...我也發現書上有漏一些程式碼@@謝囉 03/18 19:06
11F:→ tiyun:哪本書那麼鳥= = 03/18 19:35
12F:→ DiamondDog:C自手冊/Herbert Schildt著;高明,黃宗仁譯 初版七刷 03/18 19:53
13F:推 stonehomelaa:翻譯書喔 那搞不好是譯者漏掉 03/18 19:55
14F:→ DiamondDog:請問邏輯運算子OR要怎麼打出來?避免佔版面所以推文問 03/18 21:00
15F:推 POSIX:google 03/18 21:11
16F:→ DiamondDog:我找到了,shift+\ 03/18 21:16
17F:推 POSIX:原po 加油!繼續努力!!! 03/18 22:21
18F:→ POSIX:如果原po 英文ok, 推薦你看The C Programming Language 03/18 22:22
19F:→ POSIX:很神奇的一本書 雖然一本不厚 可是講的很清楚 03/18 22:22
20F:→ DiamondDog:英文不OK:(,謝謝你的鼓勵 03/18 22:23
22F:→ saxontai:質如何就是了。XD 03/18 22:27
23F:推 tiyun:推K&R翻譯者 我的教授XD 03/18 22:33
24F:推 stonehomelaa:我覺得蔡神翻得尚可 很久以前冼鏡光翻得比較好 03/18 22:34
25F:→ tiyun: 那你覺得蔡神教得好嗎 科科 03/18 22:44