keil做了下仿真,雖然你的主函數(shù)結(jié)束了,但是你的計(jì)時(shí)器仍然在工作,單步下去,總會(huì)進(jìn)入中斷函數(shù)。但是在protues下你的定時(shí)器初值要設(shè)置合理,也就是在主函數(shù)結(jié)束前溢出,中斷就能發(fā)生。
創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注重慶網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,行業(yè)涉及成都廣告設(shè)計(jì)等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
你對(duì)main函數(shù)理解錯(cuò)了,它不能返回一個(gè)字符串。
不過在main主函數(shù)里面最后加一句while(1);讓函數(shù)進(jìn)入死循環(huán),可解決此問題。
1、恩,有想法肯定是好的。兩個(gè)while循環(huán)不可能同時(shí)運(yùn)行。及時(shí)在java,c#里也不能。CPU一次只能執(zhí)行一個(gè)指令,不能同時(shí)執(zhí)行兩個(gè)。由于CPU在不同線程里切換的速度很快。所以可以實(shí)現(xiàn)你所想要的要求。
2、按順序來。先是第一個(gè)while(),執(zhí)行完再執(zhí)行下一個(gè)while()。如果有while()是死循環(huán),那后面的while()就不執(zhí)行了。
3、當(dāng)然不行了。你把break放if語(yǔ)句外面試試。現(xiàn)在break是返回的if語(yǔ)句。你需要返回while(1)語(yǔ)句。
4、while語(yǔ)句是屬于前測(cè)試循環(huán)語(yǔ)句,也就是說,在循環(huán)體內(nèi)的代碼被執(zhí)行之前,就會(huì)對(duì)出口條件求值。其實(shí)就是先與while里面的條件進(jìn)行判斷,成立就走循環(huán)體內(nèi)的代碼,不成立就不走循環(huán)體內(nèi)代碼。循環(huán)體內(nèi)的代碼有可能永遠(yuǎn)不會(huì)執(zhí)行。
5、c語(yǔ)言while循環(huán)用法:一般形式如下:while(表達(dá)式){循環(huán)體內(nèi)語(yǔ)句} 循環(huán)體外語(yǔ)句 其中執(zhí)行過程如下:(1)計(jì)算while后面括號(hào)里表達(dá)式的值,若其結(jié)果非0,則轉(zhuǎn)入(2),否則轉(zhuǎn)(3)。(2)執(zhí)行循環(huán)體,轉(zhuǎn)(1)。
1、for語(yǔ)句沒有循環(huán)次數(shù)的限制,完全可以無限制循環(huán)往復(fù),甚至無限循環(huán)有很多有用的用途。你遇到的情況或許是由于其他原因造成的,可以細(xì)讀代碼尋找緣由。
2、會(huì)的,break是退出循環(huán),嵌套循環(huán)的情況下, 即是退出內(nèi)循環(huán),繼續(xù)執(zhí)行外循環(huán)中的剩下的處理語(yǔ)句。隨即、根據(jù)外循環(huán)的判斷條件是否繼續(xù)執(zhí)行外循環(huán),繼續(xù)執(zhí)行的話,又會(huì)進(jìn)入內(nèi)循環(huán)。如果是continue,則立即結(jié)束本次內(nèi)循環(huán)。
3、從for語(yǔ)句的寫法看,這是一個(gè)死循環(huán)。因?yàn)檫M(jìn)入循環(huán)后,前面定義的k=-1被覆蓋,k從0開始,每循環(huán)一次k減1,它的取值會(huì)是0、---……,而循環(huán)的終止條件是k=1,這是一個(gè)永遠(yuǎn)取不到的值,所以是死循環(huán)。