亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

請問以下代碼中的兩個sizeof用法有問題嗎?

請問以下代碼中的兩個sizeof用法有問題嗎?

largeQ 2018-07-25 08:04:53
void upper_case(char str[ ]){int i;for(i = 0; i < sizeof(str) / sizeof( str[0] ); i++){if(str[i] > ‘a’ && str[i] < ‘z’)str[i] -= (‘a’ - ‘A’);}}int main(void){char str[ ] = “aBcDe”;printf(“length of the string: %d\n”, sizeof(str) / sizeof(str[0]));upper_case(str);}
查看完整描述

1 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

主函數中的sizeof沒有問題,upper_case中的sizeof使用錯誤,因為數組作為參數傳遞會退化為指針,upper_case中的str實際上是char*指針,它的sizeof為指針類型大小而非數組大小。


查看完整回答
反對 回復 2018-07-26
  • 1 回答
  • 0 關注
  • 879 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號