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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4615|回復: 16
收起左側

C語言while(--t);語句求解

  [復制鏈接]
ID:954205 發表于 2021-7-22 21:43 | 顯示全部樓層 |閱讀模式
void delay(unsigned int t)
        {
                while(--t);
        }
這個語句里面while(--t)可與更改嗎?可以換把--t換掉嗎?如果可以應該怎么換?

回復

使用道具 舉報

ID:108819 發表于 2021-7-22 22:52 | 顯示全部樓層
可以更換啊,這個里面就是延時,你可以更換成for(;t>0;t--);
回復

使用道具 舉報

ID:161164 發表于 2021-7-22 23:34 | 顯示全部樓層
當然可以換,但目的是什么?
回復

使用道具 舉報

ID:953771 發表于 2021-7-23 00:05 來自觸屏版 | 顯示全部樓層
可以換啊
回復

使用道具 舉報

ID:955762 發表于 2021-7-23 08:30 | 顯示全部樓層
--t的意思就是每循環一次,t值減少1
回復

使用道具 舉報

ID:386001 發表于 2021-7-23 08:51 | 顯示全部樓層
可以換
while(--t)一句程序里做了兩件事,t自減1,并判斷t是否大于0,
如果你想改,可以改成下面這樣(供參考)
while(判定真假的條件)
[修改判定條件的內容]
回復

使用道具 舉報

ID:955858 發表于 2021-7-23 13:33 | 顯示全部樓層
--t即是t自減運算,while還進行是否大于0判斷;可以進行對t賦初值,運用for語句來完成定時的延時,希望能夠幫到你
回復

使用道具 舉報

ID:401462 發表于 2021-7-23 14:47 | 顯示全部樓層
這個是使用while的循環延時才可以直接使用for循環完成
回復

使用道具 舉報

ID:950946 發表于 2021-7-23 18:42 | 顯示全部樓層
這個完全可以直接改的,要換一起換。看系統時鐘,比如1MHz,你把 t 變成1000,就相當于延遲1ms
回復

使用道具 舉報

ID:317585 發表于 2021-7-23 19:58 | 顯示全部樓層
當然可以啊,但是你要做什么
回復

使用道具 舉報

ID:883242 發表于 2021-7-24 21:25 | 顯示全部樓層
注意下你的代碼只在C51下面可用,因為該編譯器設計者認為用C51的都是不懂volatile這個關鍵字的傻孩子。換個編譯器比如同樣被小白們喊成Keil的RVMDK,樓主位代碼會直接優化成t=0;因為t最后一定會等于0。現在的編譯器比你想象的聰明太多了。
回復

使用道具 舉報

ID:885797 發表于 2021-7-28 11:33 | 顯示全部樓層
這是一個循環,看你具體想讓他循環多久
回復

使用道具 舉報

ID:476415 發表于 2021-7-28 12:33 來自觸屏版 | 顯示全部樓層
這是基礎語法啊!
回復

使用道具 舉報

ID:957089 發表于 2021-7-28 14:40 | 顯示全部樓層
可以更改,可以用for循環語句
回復

使用道具 舉報

ID:955647 發表于 2021-7-28 20:57 | 顯示全部樓層
void delay(uint i) {         while(i--);         }
回復

使用道具 舉報

ID:955647 發表于 2021-7-28 20:58 | 顯示全部樓層
可以換成這樣void delayms(unsigned int ms) {         unsigned char i=100,j;         for(;ms;ms--)         {                 while(--i)                 {                         j=10;                         while(--j);                 }         } }
回復

使用道具 舉報

ID:955647 發表于 2021-7-28 20:58 | 顯示全部樓層
可以改成這樣void delayms(unsigned int ms)
{
        unsigned char i=100,j;
        for(;ms;ms--)
        {
                while(--i)
                {
                        j=10;
                        while(--j);
                }
        }
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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