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

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

答案為什么是1,3,1 ?不知道是怎么來的,請教一下!

答案為什么是1,3,1 ?不知道是怎么來的,請教一下!

躍然一笑 2023-03-15 22:18:51
看書的時候遇到:對于以下字符串,strlen(s)的值為:(1)char s[10] = { 'A', '\0', 'B', 'C', '\0', 'D' };(2)char s[ ] = "\t\v\\\0will\n";(3)char s[ ] = "\x69\082\n"; 
查看完整描述

2 回答

?
守候你守候我

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

首先,你要明確:字符串結束的標志是\0。
其次,你要明白:\t,\v是轉義字符,是字符常量。
最后,你要知道:strlen( )函數的作用是測試字符串長度(不包括\0)。

char s[10] = { 'A', '\0', 'B', 'C', '\0', 'D' };
當運行strlen(s)時,從起始地址s開始掃描,到\0時結束操作,返回一個整型數1。

char s[ ] = "\t\v\\\0will\n";
在這個字符串中\0前面有3個轉義字符\t\v\\,所以返回3。

char s[ ] = "\x69\082\n"; 
\x69 是一個轉義字符,意思是十六進制的69在ASCII中所代表的字符。

 


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

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

遇到\0就表示該字符串結束,后面即使再長也都不參與計算……
所以第一的長度是1,
第二個的\是轉移字符,\t表示一個字符,后面同理;
第三個x69是16進制數,其實還是一個字符

明白了么?

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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