c編譯for語句出錯怎麼回事
㈠ c語言函數使用for循環出錯
j=t*100
while(j--)
這里的while語句和for語句各起什麼作用?
{
是指循環
j*i
次嗎?
for(i=8505;i;i--);
}
}
//============================================
空跑,也就是延時的作用,
for(i=8505;i;i--);一次全循環應該是1ms,void
delay(float
t)應該是延時t*100ms
㈡ C語言中問為什麼我在for()裡面直接定義變數會出錯,還是新手不是很懂 求解釋
C89規定,在任何執行語句之前,在塊的開頭聲明所有局部變數。
在C99以及C++中則沒有這個限制,即在首次使用之前,可在塊的任何位置都可以聲明變數。
你用的編譯器版本太低啦,建議把文件後綴改成.cpp,按照c++的方式編譯,不會出錯。
㈢ 為什麼我的C語言for循環老是報錯
在c文件中是不能在循環里定義變數的(for (int i = 0; i< 5 ; i++))這樣編譯器會報錯,但是.cpp文件可以,c語言不支持循環內定義變數,c++支持這種定義。初學者需要注意一下。
㈣ C語言中for(int i=0;i<5;i++){}總是報錯
因為C99標准以前的C標準是不支持臨時變數在for循環中定義的。
C99標准就支持這樣寫。但是目前有些編譯器並不怎麼願意支持C99標准,或者默認以C89模式進行編譯執行。
如果你用的是VisualC++6.0的話,那沒辦法,那貨早停止更新了,不可能支持C99了。
如果用的是gcc的編譯器(v3.0以上)的話,默認按C89編譯。手動編譯時加上-std=c99就行了能按C99標准編譯,上面那樣寫就沒問題了。比如:
gcc-std=c99tset.c-otest
如果用的是使用gcc編譯器的CodeBlocks的話,倒是知道怎麼讓它默認自動以C99標准編譯:
settings->compileranddebugger...
打開編譯調試設置面板,在Globalcompilersettings項裡面的Otheroptions里添加-std=c99就行了。
其他使用gcc的IDE應該都能設置這個的。
不過建議還是按C89的寫法寫吧,很多地方寫成C99標準的都會出錯,誰叫他們不買C99的帳呢。
㈤ c語言for循環無法正常執行
你沒有搞清楚for循環的結構,所以你的for循環寫錯了
for(初始化;循環條件;循環增量)
很明顯你把第一個初始化和最後的增量弄反了,這就導致了你的循環是個永不退出的死循環了。
換成for(b=b;b<=12;b=b+1)就可以了。
㈥ C語言中for循環報錯
1、在c文件中是不能在循環里定義變數的(for (int i = 1; i< 4 ; i++))這樣編譯器會報錯,但是.cpp文件可以,c語言不支持循環內定義變數,c++支持這種定義。初學者需要注意一下。
2、可以參考下圖修改:
㈦ for循環中只有一個輸出語句,多次輸出可能會出現錯誤的原因是什麼
可能循環次數出現問題了。
for循環如果只有一個輸出語句,那每一次遍歷都會輸出一條語句,入宮出現多次輸出,那可能是循環體的代碼導致循環次數出現問題,或者輸出語句前有條件語句,那麼就是條件語句出錯了,沒有做好篩選工作。
for循環是編程語言中一種循環語句,而循環語句由循環體及循環的判定條件兩部分組成,其表達式為:for(單次表達式;條件表達式;末尾循環體){中間循環體;}。
for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句,用來給循環控制變數賦初值;也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。
「;」號之間的條件表達式是一個關系表達式,其為循環的正式開端,當條件表達式成立時執行中間循環體。
執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體。
執行末尾循環體後將再次進行條件判斷,若條件還成立,則繼續重復上述循環,當條件不成立時則跳出當下for循環。