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

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

你好,關(guān)于strlen函數(shù)?

你好,關(guān)于strlen函數(shù)?

喵喵時光機(jī) 2021-01-13 15:11:59
是說只能char[]數(shù)組類型或char指針類型,可以使用strlen函數(shù)求其長度?如果是int型,例如:int len[3];len[0] = 1;len[1] = 2;printf("%s\n", strlen(len));打印是0?謝謝!
查看完整描述

2 回答

?
慕桂英3389331

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

首先要聲明,strlen(xx[i])反回的值是0,因為你的xx還沒有初值。你應(yīng)該在readDat()的while循環(huán)中測試一下,是否讀入了數(shù)據(jù)到xx數(shù)組中,在while中使用printf輸出xx數(shù)組就知道了。應(yīng)該是strlen反回0導(dǎo)至的錯誤。因為不了解你的那個dat文件中9近是什么內(nèi)容,因此不好判斷
程序主要錯在第一個for語句for(j=1;j<(strlen(xx[i])-2);j=j+2)中的(strlen(xx[i])-2)這一句。
因為strlen()函數(shù)的反回類型為unsigned
int(無符號整型),因此再進(jìn)行strlen(xx[i]-2的時候得到的是一個負(fù)數(shù)-2,而unsigned
int是無法表示負(fù)數(shù)的,因此就被計算機(jī)轉(zhuǎn)換為補(bǔ)碼的形式來表示-2了,,也就是十進(jìn)制數(shù)的4294967292,二進(jìn)制形式是11111111110(具體多少個1自已算,反正前面全是1)
你可以把strlen(xx[i])強(qiáng)制轉(zhuǎn)換為int型來測試,比如(int)strlen(xx[i]-2這樣的話就能得到正確結(jié)果了。

查看完整回答
反對 回復(fù) 2021-03-28
  • 2 回答
  • 0 關(guān)注
  • 362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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