unsigned int i;
for (i = 100; i <= 0; --i)
printf("%d\n",i);
回答
< = 0也許?因爲它是從一開始就false
For循環
- INIT:I = 100
- 測試:ⅰ< = 0 //假上第一遍
更改測試i > 0
(100次)
或i >= 0
(101次)連同聲明signed int i;
,以便它採取行動ually減少到-1。一個無符號的int將從0到max-int(溢出)。
你的意思是假` – swegi 2011-01-24 23:17:25
`> = 0`是錯誤的。 – 2011-01-24 23:22:53
應i >= 0
在循環中的第二個條件,如果你想要再循環從100到0
也就是說,和其他人指出的那樣,你需要你的i
定義更改爲有符號的整數(只是int
),因爲當計數器是-1時,它會是其他正數,因爲你聲明它是unsigned int
。
由於i
是無符號的,所以它會從不小於零。掉落unsigned
。另外,請將<=
替換爲>=
。
爲i <= 0;
i
環路檢查是從不低於或-等於零。它的初始值是100.
從技術上講,沒有什麼是錯的代碼。我對= 0的測試很奇怪,因爲我是無符號的,但它在技術上是有效的,當我是0時是true,否則是false。在你的情況,我從來沒有碰巧是0.
由於i
是無符號的,表達式i <= 0
是可疑的,相當於i == 0
。
而且代碼不會打印任何內容,因爲條件i <= 0
在它的第一次評估中是錯誤的。
如果你想讓它從100打印所有數字下降到0,那麼你需要
unsigned int i;
for (i = 100; i >= 0; --i)
printf("%d\n",i);
第一次你的循環在你的原碼跑,我是100測試「100 < = 0」失敗了,因此沒有任何顯示。
如果代碼應該什麼都不做,那沒什麼問題。
假設您希望它將循環索引i
從100打印到1,則需要將i <= 0
更改爲i > 0
。
因爲它是一個無符號整數,所以你不能使用i >= 0
,因爲那會導致它無限循環。
我懷疑你的意思是測試是i > 0
。
- 1. JavaScript的for循環...爲(I = 0; I <10; I - )S = S + I;
- 2. 爲什麼「for(; i <= 10; i ++)」工作,但「for(i = 0; i <= 10 ;;)」不?
- 3. 爲什麼對於(int i = 0; i <10; ++ i)和for(int i = 0; i <10; i ++)返回相同?
- 4. 「for(var i = 0; i <size; i ++)」循環有什麼可能的功能替換?
- 5. i和i = i ++ in for循環java
- 6. 爲什麼在for循環中「++ i」和「i ++」有什麼區別?
- 7. 爲什麼Firefox中的for(var i = 100; i--; {{}}比(var i = 100; i - > 0;){}慢得多(70%)?
- 8. C++如何使用「循環(n)」來表示「for(int i = 0; i <n; i ++)」?
- 9. 當i = 10時,爲什麼輸出「未定義」(i = 0; i <10; i ++)?
- 10. var i = [0]在for循環中,然後增加i ++ - 爲什麼它工作?
- 11. for(i = 0; 0; i)在c中執行一次爲什麼?
- 12. INT I for循環VS不
- 13. 爲什麼我的javascript for循環不起作用? for(var i = 1; i <5; i ++;){document.write(「A statement has run」); }
- 14. 如何用EmberJs/Handlebars製作一個for(i = 0; i <n; i ++)?
- 15. 在javascript for循環中,i ++和++ i有什麼不同?
- 16. for循環(Java)中的i ++&++ i有什麼區別?
- 17. Java For Loop,爲什麼J <I?
- 18. 爲什麼i = i + 1比i ++快?
- 19. 爲什麼「for($ i = 1; $ i -le 1000000; $ i ++){}」的執行時間快於「for([int] $ i = 1; $ i -le 1000000; $ i ++){}」在PowerShell中
- 20. i = i ++不增加i。爲什麼?
- 21. 這對於循環工作如何? for(; i <length; i ++)
- 22. PHP - preg_match with for循環$ i
- 23. Django,最簡單的forloop,怎麼樣? (i = 0; i <20; i ++)
- 24. 爲什麼Array(100).map((_,i)=> i + 1)不返回[1,2,...,100]?
- 25. $ i = 0 while循環編輯
- 26. 使用「for(i = 0; elem = array [i]; i ++)」來迭代數組有什麼風險?
- 27. 什麼是我有兩個for循環</p> <pre><code>for(int i = 2; i <= n/2; i++){ for(int j = 2 * i; j <= n; j++){ } } </code></pre> <p>什麼是他們的時間複雜度的這類for循環
- 28. 用於循環的Java - (i * 16)對所有i值爲0
- 29. 爲什麼l.insert(0,i)比python中的l.append(i)慢?
- 30. (數組中的x)和(i = 0; i <array.length; i ++)
準備好回答問題 – Anycorn 2011-01-24 23:19:23
取決於你想要的代碼做什麼... – 2011-01-24 23:21:03
歡迎來到StackOverflow – RichardTheKiwi 2011-01-24 23:21:22