標(biāo)題: 關(guān)于C語言for循環(huán)是怎么執(zhí)行的?初始值是多少值為多少的時候是跳出循環(huán)? [打印本頁]

作者: 清晨的粥    時間: 2021-1-29 15:49
標(biāo)題: 關(guān)于C語言for循環(huán)是怎么執(zhí)行的?初始值是多少值為多少的時候是跳出循環(huán)?
關(guān)于延時函數(shù)

void delay(uint t) //定義延時函數(shù)
{
register uint bt;
for(;t;t--)  //疑問這里t的值是怎么循環(huán)的,初始值是多少值為多少的時候是跳出循環(huán)?
    for(bt=0;bt<255;bt++); //這一行就有數(shù)值循環(huán)可以看懂
}


作者: zswhym    時間: 2021-1-29 18:01
初始值是自己定義的,t減到零的時候跳出循環(huán)
作者: rundstedt    時間: 2021-1-29 18:11
調(diào)用的時候賦值。t為〇退出。
作者: 清晨的粥    時間: 2021-1-29 20:09
發(fā)表于 2021-1-29 18:11
調(diào)用的時候賦值。t為〇退出。

非常感謝,明白了,原來后面那個是賦值,我分開看來
作者: rundstedt    時間: 2021-1-29 20:31
清晨的粥 發(fā)表于 2021-1-29 20:09
非常感謝,明白了,原來后面那個是賦值,我分開看來

delay的參數(shù)是賦值。

register應(yīng)該改為volatile。c51的作者假設(shè)他的用戶都不懂這個關(guān)鍵字,所以不寫也可以。正規(guī)c編譯器會直接把變量置〇。
作者: 清晨的粥    時間: 2021-1-29 20:35
發(fā)表于 2021-1-29 18:11
調(diào)用的時候賦值。t為〇退出。

那為什么會有兩行for語句,第一個uint 和第二個tuint bt各有什么意義,這個關(guān)系然我思維卡住了,理解不進(jìn)去

作者: rundstedt    時間: 2021-1-29 20:43
清晨的粥 發(fā)表于 2021-1-29 20:35
那為什么會有兩行for語句,第一個uint 和第二個tuint bt各有什么意義,這個關(guān)系然我思維卡住了,理解不進(jìn) ...

寫一行時間不夠唄,這也看不懂?
作者: kaixuan_27    時間: 2021-1-29 21:48
for (循環(huán)變量賦初值; 循環(huán)條件; 循環(huán)變量增值)for(;t;t--)

循環(huán)變量賦初值:不賦初值
循環(huán)條件:t > 0
循環(huán)變量增值:t-1

作者: 清晨的粥    時間: 2021-1-29 21:53
發(fā)表于 2021-1-29 20:43
寫一行時間不夠唄,這也看不懂?

是兩個循環(huán)次數(shù)相乘嗎?包含關(guān)系?
作者: rundstedt    時間: 2021-1-29 22:00
清晨的粥 發(fā)表于 2021-1-29 21:53
是兩個循環(huán)次數(shù)相乘嗎?包含關(guān)系?

你自己仔細(xì)想想吧,大概是對的。
作者: 清晨的粥    時間: 2021-1-29 22:20
rundstedt 發(fā)表于 2021-1-29 22:00
你自己仔細(xì)想想吧,大概是對的。

謝謝大神




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1