找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2037|回復(fù): 7
收起左側(cè)

這兩種C語言程序?qū)懛莻€好呢?

[復(fù)制鏈接]
ID:884739 發(fā)表于 2022-3-17 20:47 | 顯示全部樓層 |閱讀模式
第一種:
void delay(int ms){
     int a = ms;
     int i=0;
     for(i=0;i<a;i++)
     {
        _nop();
        _nop();
        _nop();
        _nop();
     }
}
第二種:
void delay(int ms){
     int i=0;
     for(i=0;i<ms;i++)
     {
        _nop();
        _nop();
        _nop();
        _nop();
     }
}

回復(fù)

使用道具 舉報

ID:884739 發(fā)表于 2022-3-17 20:48 | 顯示全部樓層
個人覺得第一種就是脫褲子放屁。
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2022-3-18 00:07 | 顯示全部樓層
都不好,浪費內(nèi)存
void delay(int ms){
     for(;ms>0;ms--)
     {
        _nop();
        _nop();
        _nop();
        _nop();
     }
}

void delay(int ms){
     do
     {
        _nop();
        _nop();
        _nop();
        _nop();
     }while(ms--);
}
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2022-3-18 00:31 | 顯示全部樓層
樓主可以把你的兩種寫法和沙發(fā)的兩種寫法都編譯試一試,看看各種寫法占用flash和ram的大小都是多少,以后就不用上論壇,自己就能判斷怎么寫更合理了。
回復(fù)

使用道具 舉報

ID:884739 發(fā)表于 2022-3-18 09:06 來自手機 | 顯示全部樓層
lkc8210 發(fā)表于 2022-3-18 00:07
都不好,浪費內(nèi)存
void delay(int ms){
     for(;ms>0;ms--)

我主要表達意思是 1函數(shù)里形參直接用和在函數(shù)再定義一個變量,將形參的值給到這個變量。2直接用形參作為變量使用。
1和2這有什么不一樣么?或者說,第一種就不應(yīng)該這樣寫。
回復(fù)

使用道具 舉報

ID:884739 發(fā)表于 2022-3-18 09:08 來自手機 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-3-18 00:31
樓主可以把你的兩種寫法和沙發(fā)的兩種寫法都編譯試一試,看看各種寫法占用flash和ram的大小都是多少,以后就 ...

我主要表達意思是 1函數(shù)里形參直接用和在函數(shù)再定義一個變量,將形參的值給到這個變量。2直接用形參作為變量使用。
1和2這有什么不一樣么?或者說,第一種就不應(yīng)該這樣寫。
這個就像定義無用變量在函數(shù)里
回復(fù)

使用道具 舉報

ID:514901 發(fā)表于 2022-3-18 09:09 | 顯示全部樓層
沒區(qū)別,不過最好把形參int換成unsigned  int
回復(fù)

使用道具 舉報

ID:196791 發(fā)表于 2022-3-18 10:48 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-3-18 00:31
樓主可以把你的兩種寫法和沙發(fā)的兩種寫法都編譯試一試,看看各種寫法占用flash和ram的大小都是多少,以后就 ...

方法不錯,可以用這個方法來學習程序優(yōu)化了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表