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

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

輸出結果為什么是7?!不應該是3嗎?

輸出結果為什么是7?!不應該是3嗎?

C
天涯盡頭無女友 2023-03-15 21:17:01
#include <stdio.h>#include <string.h>void main(){char x[]={0xBC,0xDD,0xCA};int len=strlen(x);printf("%d\r\n",len);}
查看完整描述

2 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

sizeof(x)應該是3
strlen(x)就不一定,因為strlen()計算數組元素個數直到遇到'\0'。顯然在索引前3個元素時并沒有遇到'\0',因此編譯器會繼續越界索引。

查看完整回答
反對 回復 2023-03-18
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

strlen是遇到 '\0' 算有多少個字節的,顯然,x[]根本沒有一個值是0,因此strlen是任意的,要想得到3,應該用sizeof

查看完整回答
反對 回復 2023-03-18
  • 2 回答
  • 0 關注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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