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

標題: 單片機新手對C語言編程的程序不太清楚,求賜教! [打印本頁]

作者: 啦啦啦小包子    時間: 2022-2-22 11:05
標題: 單片機新手對C語言編程的程序不太清楚,求賜教!
void write_string(uchar hang,uchar add,uchar *p)
{
        if(hang==1)   
                write_com(0x80+add);
        else
                write_com(0x80+0x40+add);
                while(1)                                                                                                                 
                {
                        if(*p == '\0')  break;
                        write_data(*p);
                        p++;
                        delay_uint(50);
                }        
}
這是51電子密碼鎖讓lcd1602顯示字符函數的代碼,其中的while(1)括號后面這些是什么意思,加上了有什么作用嗎?求大神賜教!!!


作者: 興安xa    時間: 2022-2-22 14:24
循環語句,表示循環運行括號內的程序
作者: lhzw2001    時間: 2022-2-22 14:31
while(1){}  表示一直循環執行{}里面的語句,碰到字符串結束符后,自動終止循環。
作者: 13205495918    時間: 2022-2-22 14:33
這是輸入字符串,字符串是以結束符'\0'作為結尾,你看你字符指針p加一,就是字符串當前字符往后移一個,當你碰到結束符的時候,這個字符串就是結束了,所以會執行if下面的第一個分號前的語句,也就是break,(這里建議你按照編程規范,不管if(條件表達式)。。。。這個if要執行幾句,就算是一句,也最好加上花括號)
作者: 風之痕于夢想    時間: 2022-2-22 15:34
一直執行,成立就退出
作者: 188610329    時間: 2022-2-22 19:53
死讀書的寫法:
               while(1)                                                                                                                 
                {
                        if(*p == '\0')  break;
                        write_data(*p);
                        p++;
                        delay_uint(50);
                }        
通過理解后用自己的思想寫的話:
               while(*p != '\0')                                                                                                                 
                {
                        write_data(*p);
                        p++;
                        delay_uint(50);
                }        

作者: fj51hei    時間: 2022-2-22 20:54
188610329 發表于 2022-2-22 19:53
死讀書的寫法:
               while(1)                                                              ...

這個有區別?
作者: 188610329    時間: 2022-2-22 22:45
fj51hei 發表于 2022-2-22 20:54
這個有區別?

一個是絕對循環+條件跳出
一個是只有條件循環

你說有沒有區別?
作者: mimidog111    時間: 2022-2-23 10:20
while(1);停止
作者: dcg    時間: 2022-2-26 16:32
'\0'是字符串結尾,循環輸出,一直到字符串結尾結束循環
作者: dzj4321    時間: 2022-2-28 08:36
188610329 發表于 2022-2-22 19:53
死讀書的寫法:
               while(1)                                                              ...

只執行一次就退出了?
作者: 1842559923    時間: 2022-3-1 10:40
就是如果讀取到回車就會退出




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