久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2289|回復: 8
收起左側(cè)

C語言if語句執(zhí)行問題

[復制鏈接]
回帖獎勵 10 黑幣 回復本帖可獲得 10 黑幣獎勵! 每人限 1 次
ID:1079270 發(fā)表于 2023-6-30 15:01 | 顯示全部樓層 |閱讀模式
void Reset()
{
    num1 = 0;
    num2 = 0;
    step = 0;
    LcdFullClear();
}
/* 數(shù)字鍵動作函數(shù),n-按鍵輸入的數(shù)值 */
void NumKeyAction(unsigned char n)
{
    unsigned char len;
    unsigned char str[12];
   
    if (step > 1)  //如計算已完成,則重新開始新的計算
    {
        Reset();
    }
    if (step == 0)  //輸入第一操作數(shù)
    {
        num1 = num1*10 + n;             //輸入數(shù)值累加到原操作數(shù)上
        len = LongToString(str, num1);  //新數(shù)值轉(zhuǎn)換為字符串
        LcdShowStr(16-len, 1, str);     //顯示到液晶第二行上
    }
    else            //輸入第二操作數(shù)
    {
        num2 = num2*10 + n;             //輸入數(shù)值累加到原操作數(shù)上
        len = LongToString(str, num2);  //新數(shù)值轉(zhuǎn)換為字符串
        LcdShowStr(16-len, 1, str);     //顯示到液晶第二行上
    }
}
問:執(zhí)行完 if (step > 1)
    {
        Reset();
    } 之后要直接執(zhí)行if (step == 0)  
    {
        num1 = num1*10 + n;            
        len = LongToString(str, num1);
        LcdShowStr(16-len, 1, str);   
    }這個if嗎

回復

使用道具 舉報

ID:161164 發(fā)表于 2023-6-30 17:55 | 顯示全部樓層
會直接執(zhí)行if (step == 0)  
因為step在Reset()里清零了
可以改為
else if (step == 0)  
回復

使用道具 舉報

ID:404160 發(fā)表于 2023-6-30 17:57 | 顯示全部樓層
是的,執(zhí)行完step>1,表示第一個if語句執(zhí)行完了,按語句執(zhí)行順序,緊接著執(zhí)行step==0的if語句。第二個if應改成else if。
回復

使用道具 舉報

ID:908826 發(fā)表于 2023-6-30 20:12 | 顯示全部樓層
yes,會繼續(xù)執(zhí)行的reset函數(shù)把變量清零了,如果想構(gòu)成分支語句,需要寫成if else或者if  elseif else形式
回復

使用道具 舉報

ID:1086688 發(fā)表于 2023-7-1 15:38 | 顯示全部樓層
會執(zhí)行的,沒有else形成分支,只是進行了if判斷,會繼續(xù)按順序執(zhí)行語句
回復

使用道具 舉報

ID:712097 發(fā)表于 2023-7-1 16:22 | 顯示全部樓層
2L正解,Reset里面將step置0了,故if (step == 0)  為真。
回復

使用道具 舉報

ID:1086796 發(fā)表于 2023-7-1 21:11 | 顯示全部樓層
是的,當 step 大于 1 時,會執(zhí)行 Reset() 函數(shù)重置變量的值。然后程序會繼續(xù)執(zhí)行下一個 if 語句 if (step == 0)。這個 if 語句用于判斷是否輸入第一個操作數(shù),如果條件滿足,會執(zhí)行相應的操作,包括更新 num1 的值、將其轉(zhuǎn)換為字符串并在液晶屏上顯示出來。所以在執(zhí)行完 Reset() 后,會直接執(zhí)行下一個 if 語句。
回復

使用道具 舉報

ID:420836 發(fā)表于 2023-7-1 22:38 | 顯示全部樓層
執(zhí)行 if (step > 1) {
         重置();
     }

程序檢查step是否=0,因為reset()置step = 0,所以它執(zhí)行第二個if語句。
回復

使用道具 舉報

ID:1086834 發(fā)表于 2023-7-1 23:02 | 顯示全部樓層
是的,當執(zhí)行完`if (step > 1)`中的代碼塊,如果條件滿足,則會執(zhí)行`Reset()`函數(shù)。然后程序會繼續(xù)向下執(zhí)行,直接進入下一個`if (step == 0)`的代碼塊。  如果`if (step == 0)`條件滿足,那么會執(zhí)行花括號內(nèi)的代碼,即將`num1`乘以10加上`n`,然后計算`num1`轉(zhuǎn)換為字符串后的長度存儲到`len`變量中,并將這個字符串以適當?shù)奈恢蔑@示在Lcd上。  這兩個if語句是獨立的,執(zhí)行一個不會影響到另一個。當?shù)谝粋if條件判斷不滿足時,第一個if塊中的代碼將被忽略,程序直接跳過它繼續(xù)向下執(zhí)行。只有在第一個if條件判斷滿足時,才會執(zhí)行第一個if塊中的代碼,并且會在執(zhí)行完后直接進入第二個if塊中的代碼。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产视频中文字幕在线观看 | 人人做人人澡人人爽欧美 | 久久精品一级 | www.9191| 一区二区三区四区国产 | 日韩欧美高清dvd碟片 | 国产免费一区二区 | julia中文字幕久久一区二区 | 一级高清免费毛片 | 欧美日韩在线免费 | 日本在线视频一区二区 | 狠狠操天天干 | av网站免费观看 | yeyeav| 日韩欧美二区 | 日韩色综合 | av一级毛片 | 午夜免费福利片 | 中文字幕日韩三级 | 久久久999成人 | 自拍视频网站 | 夜夜爽99久久国产综合精品女不卡 | 黑人精品欧美一区二区蜜桃 | 极品的亚洲 | 国产黄a一级 | 日韩在线一区二区三区 | 在线不卡 | 欧美视频一区二区三区 | 欧美精品一级 | 亚洲精品国产综合区久久久久久久 | 国产精品入口 | 福利网站导航 | 亚洲国产精品久久久久 | 极情综合网 | 欧美成人性生活 | 日本午夜网站 | 亚洲国产一区视频 | 午夜不卡福利视频 | 欧美一区二区三区的 | 日韩色图在线观看 | 欧美国产精品一区二区三区 |