標籤:

關於c語言for循環的問題?

如圖所示,我將i++,five++同時寫到第三個條件中,為什麼程序不能執行?


因為i的緣故,你的內層循環只能一共運行五次,這個時候one+two*2+five*5=25,永遠都到不了100,所以什麼都沒輸出。到了內層的for結束之後,外層開始了新的one和two,這個時候內層循環已經因為i的緣故再也不跑了,結果你白白空轉了1.411秒(話說你的機器好爛啊,才5000個循環


怎麼沒有人吐槽題主不會PrintScreen


表面問題是你的思路不對

深層問題是你用了奇怪的語法:for循環的話老老實實按格式寫

更大的問題是debug能力還需要多練習啊……


@vczh 有點表示不服 樓主的測試程序是要輸入一個數據的 又不是光直接for 怎麼能嫌棄他電腦爛(←_←)(←_←)(←_←)


大括弧不換行!

這程序忍不了!我不看!!


代碼的構思就是錯的,

追究搞怪的細節錯誤毫無意義。


為什麼要one啊……自動填充不好么……感覺思路就有問題的說……


目測看的浙大翁凱老師的教程


這種問題貌似就不用來知乎上來問了吧 直接在貼吧什麼的就可以了


i在for循環中沒有賦值,你在最內層循環中把i賦值為1,就可以得到一系列解。

原因在於當一次最內層循環結束,你的i的值為5,下次循環是該值仍為5,條件為假。所以需要在每次循環時把值設為1。

可能是我沒看題干吧,我不明白這個i 小於等於 5的意義是什麼。

如果去掉i的判斷,會得到更多解。

我也是新手哈,歡迎和我討論 (?^o^?)


題主 prt sc是截屏


按照你的思路的話,深刻證明了在for里int 一個i的重要性。

為毛用這種思路?

取余不是更簡單更快嗎?


因為你大括弧不換號導致你閑的沒事多寫了一個i變數,還有for loop裡邊沒寫break會一直循環打出來


代碼邏輯問題。

其次如果不能直接看出問題,單步調試一下,看看變數的值怎麼變化的就可以。


兄弟啊,這種問題您就自己先單步一下啊


居然不用visual studio!!!

if 語句判斷條件為false,所以沒有輸出

然後5次循環後,你的外層循環還會繼續,但內層循環已經執行完了,所以你會看到那種輸出,在你的編譯器環境中


只想說i有什麼卵用啊


變數 i 加到5之後沒有恢復為0

用VS吧,debug一下就馬上能找到問題所在。或者在命令行下用gdb。debug能力也是很重要的技能。


推薦閱讀:

C語言可以精確運行1億次(for循環小於1億),為什麼卻不能存100000000這個數值?
指針究竟有什麼用?
我想自學c語言,好多人都說譚浩強的書不太好,那我該看什麼書?
如何讓sublime text 2可以支持C語言的編譯和run?
關於c語言的學習?

TAG:C編程語言 |