欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

C語言程序執行順序問題

查看數: 5240 | 評論數: 13 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-10-30 13:43

正文摘要:

# include <stdio.h> int main(void) { do {     int i,j;     for (i=0; i<4; i++)     {         printf("a");      &nbs ...

回復

ID:837937 發表于 2020-11-2 20:15
for循環走完后,有return就直接跳出main函數了,所以只走了一次,把return刪掉
ID:833190 發表于 2020-11-2 20:15
feelings 發表于 2020-11-2 15:02
當我去掉循環里的延時函數,以及定義pulse里面的延時函數是,就沒有這個問題了,但是我又需要延時操作, ...

可能是你延時過長,當下一次采集到的str[11]時,上一次還沒執行完,但是又進行了if判斷。你設置一個標志位,當str[11]滿足條件時,標志位為1,當執行完全部for循環后清除標志位。用這個標志位作為if里面的條件。
ID:833190 發表于 2020-11-2 19:59
你把return 0放在while的下一行就行,你現在放在while前面了,當跳出里面的for循環后就執行了return 0,這個程序就直接結束了,不會執行后面的while判斷。
ID:708768 發表于 2020-11-2 15:02
feelings 發表于 2020-10-30 17:31
關于循環的程序我還有一個問題,圖在下方
整個程序在板子上運行時,在兩層的for循環語句里,每次第一層走 ...

當我去掉循環里的延時函數,以及定義pulse里面的延時函數是,就沒有這個問題了,但是我又需要延時操作,要怎么改程序
ID:708768 發表于 2020-11-2 10:29

我用keil調試后,在第二張圖的221行和223行放斷點,在watch中看 i 和 j 的值,然后同樣是在走第二遍循環時, i 和 j 的值顯示cannot evaluate
ID:420836 發表于 2020-11-1 06:19
那是while(1)和do-while(1)之間的區別
ID:830240 發表于 2020-10-31 17:04
把return 0去掉或者注釋掉,程序運行到return它就返回函數口,不再執行下面的語句,也就不會判斷while是否為真了
ID:654028 發表于 2020-10-31 16:15
feelings 發表于 2020-10-30 17:31
關于循環的程序我還有一個問題,圖在下方
整個程序在板子上運行時,在兩層的for循環語句里,每次第一層走 ...

debug調試一下吧
ID:708768 發表于 2020-10-30 17:29
xuchaopan 發表于 2020-10-30 15:46
哈哈哈,你如果只需要程序一直循環跑,那么就把while(1)放在do的位置,do不要就可以了。
像這樣:
# incl ...

看到了,謝謝
ID:234075 發表于 2020-10-30 16:36
如果要一直循環下去,while(1);放在最后使程序停止在這里(進入循環),所以只打印輸出1次;
ID:675145 發表于 2020-10-30 16:10
return 0;這條語句跳出循環了
ID:836680 發表于 2020-10-30 15:46
哈哈哈,你如果只需要程序一直循環跑,那么就把while(1)放在do的位置,do不要就可以了。
像這樣:
# include <stdio.h>
int main(void)
{
while(1){
    int i,j;
    for (i=0; i<4; i++)
    {
        printf("a");
        for (j=0; j<3; j++)
        {
            printf("b");
        }
    }
  //  return 0;
}
}

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表