欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
這個C語言函數有點不解,A與B應該是一樣的吧?為什么專家要這樣寫呢?
[打印本頁]
作者:
univers
時間:
2019-10-18 15:20
標題:
這個C語言函數有點不解,A與B應該是一樣的吧?為什么專家要這樣寫呢?
這個函數有點不解,A與B應該是一樣的吧? 為什么專家要這樣寫呢?
就是 while( (ms--) != 0)這里 為什么要加個!=0呢????意義是什么?
下面的void Delay_B_ms(unsigned int ms)我執行了一下,一樣的啊。
while(ms--)
#include<reg52.h> //52系列單片機頭機文件
#include<intrins.h>
#define uint unsigned int //宏定義
#define uchar unsigned char //宏定義
//****************************//
void Delay_A_ms(unsigned int ms)
{
while( (ms--) != 0)
{
P0=~P0;;
}
}
//*******************************//
void Delay_B_ms(unsigned int ms)
{
while(ms--)
{
P0=~P0;;
}
}
/*******************************************************************************
* 函 數 名 : main
* 函數功能 : 主函數
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void main()
{
P0=~P0;
Delay_B_ms(3);
P0=~P0;
}
復制代碼
作者:
學習電子知識
時間:
2019-10-18 16:11
意思就是延時那么長時間的機器周期,程序停在那里,當ms的值減到0的時候結束循環,執行后面的語句
作者:
f556
時間:
2019-10-18 16:53
while( (ms--) != 0)是意思是:當ms,如初始ms=1000,自減1,為999,如果ms沒有=0,則一直反復自減,到0時跳出while。
作者:
alonger1
時間:
2019-10-18 17:05
A,B的確一樣,但A并沒有調用
作者:
Anger
時間:
2019-10-18 17:15
為了讓你們能看懂
作者:
xianfajushi
時間:
2019-10-18 17:27
可以顯式寫邏輯表達式,也可以使用默認值0表示假大于0都表示真,2種都是一樣,寫任何一種形式沒一定要求,或許前復制的或許后自寫的,這個根本就不必細究。
作者:
csmyldl
時間:
2019-10-18 18:48
邏輯上是一樣的,可能編譯后產生的代碼有差別,至于專家為什么這么寫,估計是每一個人的編程習慣不一樣,也許當初未想清楚,但對于精度不高的時候影響看不出來,你這兩個程序應該不是出自一個專家
作者:
bai_yun_123
時間:
2019-10-18 20:29
幫你的代碼調試了下,Delay_B_ms(3)和Delay_A_ms(3)都執行了三次取反,所以你的結論是對的哦,unsigned int的范圍是0~255,所以m--到0就不可以了,即等于0的時候就停止自減,和上面的那個不等于0是一樣的
作者:
univers
時間:
2019-10-19 06:50
俺就是看不懂專家寫的啊,有點抽。所以才問大家,可能俺太菜了!喔喔!!!
作者:
nnnnnnlll
時間:
2019-10-19 09:05
這是循環停止的意思,如果直接添1就會陷入無限循環了,加!=0為了根據個人需求來停止循環
作者:
liao_
時間:
2019-10-19 14:28
每個程序員的打碼習慣不一樣
作者:
qwrqrq
時間:
2019-10-19 14:43
while( (ms--) != 0) :while是個循環語句,滿足括號里的條件執行循環,當條件不滿足時會跳出循環,里面小括號是傳遞的參數,讓他循環遞減,沒減一次需要耗費一定的時間,!=這個表示不等于,就是ms不等于0時執行循環里面的語句,當他等于0時就會跳出循環,執行其他語句
作者:
raobydz
時間:
2019-10-19 16:15
好好學習天天向上
作者:
shuozhi
時間:
2019-10-21 10:46
第一種寫法為了讓新手能看明白吧
作者:
stmmcu
時間:
2019-10-21 15:43
一樣的, 實際編譯可能會代碼優化一樣。
作者:
風行七號
時間:
2019-10-21 17:20
邏輯是一樣的
作者:
2356132739
時間:
2019-10-22 16:31
一樣的,while本身就是0的時候不循環1的時候才循環
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1