第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言中為什么定義變量時可以把相同類型的變量列在一起,而定義參數(shù)卻不可以?

C語言中為什么定義變量時可以把相同類型的變量列在一起,而定義參數(shù)卻不可以?

C
收到一只叮咚 2018-12-18 19:46:37
void print_time(int hour, minute) {    printf("%d:%d\n", hour, minute); }定義相同類型的參數(shù)這樣會報錯,C語言為什么要這樣規(guī)定?
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗 獲得超7個贊

因為多個變量聲明是用 ; 分割的, 你可以很清楚的知道這是要聲明4個變量.

int a, b;char c, d;

你也可以分辨出下面是語法錯誤的.

int a, b;
c, d;

但是由于多個不同類型函數(shù)聲明是用 , 分割的. 如果允許合并聲明, 遇到如下情況, 你語法是沒有問題的, 但此處的 isHourStartFromZero 明顯應(yīng)該是個 boolean 值. 此時由于人為失誤少寫了 boolean 類型聲明, 但編譯器卻無法幫助我們判斷出錯誤, 這會增加代碼的錯誤率. 而這種錯誤本來是應(yīng)該在編碼階段就由編譯器靜態(tài)檢查出來的.

void print_time(int hour, minute, isHourStartFromZero)
{    if (isHourStartFromZero) {      printf("%d:%d\n", hour + 1, minute);
    } else {      printf("%d:%d\n", hour, minute);
    }
}


查看完整回答
反對 回復(fù) 2018-12-18
  • 1 回答
  • 0 關(guān)注
  • 974 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號