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

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

請問在C語言中 strlen函數用法的問題,求解釋

請問在C語言中 strlen函數用法的問題,求解釋

C PHP
慕萊塢森 2021-11-23 19:15:45
#include <stdio.h>#include <string.h>int main(void){char sumame[20],firstname[20];printf("Please input your firstname and sumame.");scanf("%s",firstname);scanf("%s",sumame);printf("%s %s.\n",firstname,sumame);printf("%*d%*d\n",strlen(firstname),strlen(firstname),strlen(sumame),strlen(sumame));return 0;這個程序是用作 輸入姓名 然后輸出姓名和姓名字數為什么這里printf("%*d%*d\n",strlen(firstname),strlen(firstname),strlen(sumame), strlen(sumame));要strlen4次呢?不是兩個變量嘛?還有%*d是這個*是指怎樣輸出?。?
查看完整描述

3 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

b[10],這個10是數組的大小,可以用sizeof來查看b的大小
strlen,用于確定字符串的長度,和數組大小無關,哪怕常常使用數組來存儲字符串。它會從字符串首字符開始向后搜索,直到遇到
終止符
0。所以雖然輸入了20個字母造成了溢出,卻不妨礙strlen得到正確的長度
如果學會基本的調試操作,就可以直接在內存中查看字符串的值,沒必要輸出來看了

查看完整回答
反對 回復 2021-11-28
?
繁星coding

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

字符數組就是字符串,在存儲方式上沒啥區別。
但如果用strlen來獲得字符串長度的話,是找到第一個0值就認為字符串結束了。
char
p[]={‘0’,‘1’,‘2’,‘3’,‘4’};這樣的用strlen返回值是0。
其實要想知道一個存儲單元的大小,應該用sizeof。比如剛才題的答案是sizeof(p)=4

查看完整回答
反對 回復 2021-11-28
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

經過調試發現
%*d 后面跟兩個參數

printf("%*d",a,b);
a表示打印的寬度,接著就是輸出b的值

查看完整回答
反對 回復 2021-11-28
  • 3 回答
  • 0 關注
  • 403 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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