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

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

我想問的是這個if,我想判斷zjhm不為15位的。這里不能這樣判斷嗎?應該怎么判斷。

我想問的是這個if,我想判斷zjhm不為15位的。這里不能這樣判斷嗎?應該怎么判斷。

C PHP
富國滬深 2023-03-15 16:12:17
我要進行一個判斷,比如,char zjhm[20];這個字符數組中存放不定長度的字符串。strpack(zjhm);/*去空格*/if( strlen(zjhm)!=15 )
查看完整描述

3 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

strlen(char*)函數求的是字符串的實際長度,它求得方法是從開始到遇到第一個'\0',如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。
char aa[10];cout<<strlen(aa)<<endl; //結果是不定的
char aa[10]={'\0'}; cout<<strlen(aa)<<endl; //結果為0
char aa[10]="jun"; cout<<strlen(aa)<<endl; //結果為3

查看完整回答
反對 回復 2023-03-18
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

strpack函數沒見過,請問是怎么去空格呢?
strlen是返回字符串長度,實際上是從第一個開始往后看,直到遇到字符串終結符 '\0'為止的長度
如果你要判斷zjhm是不是15位, 這個函數是最好不過了

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

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

我不知道你說的15位的意思,這里有2種意思
一是字符串的長度,二是數組里面存放的個數;
二者是不同的,例如 字符數組 char a[20]="abc" 那么a的長度即strlen(a)就是3;而數組里面存的字符實際上是"abc\0"是4個字符;因此char a[3]="abc"; 是錯的

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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