C語言中 strlen函式用法的問題

2021-06-22 18:36:47 字數 1020 閱讀 1157

問題回答**:

看c primer plus的時候遇到一道程式設計題:

5.編寫乙個程式,首先要求使用者輸入名字,然後要求使用者輸入姓氏。在一行列印輸入的姓名,在下行列印

每個名字中字母的個數。把字母個數與相應名字的結尾對齊,如下所示:

melissa honeybee

7 8然後列印相同的資訊,但是字母個數與相應單詞的開始對齊。

#include #include 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;

其中的strlen和*的意思:

printf("%*d%*d\n",strlen(firstname),strlen(firstname),strlen(sumame), strlen(sumame));

這個是輸出匹配的問題。

舉個例子

printf("%5d",5); 就會給你5個空間輸出5,前面4個空格,然後輸出5.

printf("%*d",5,5);和上面一樣,利用*匹配5控制輸出寬度。就是四個空格5.

同理上面的第乙個strlen是作為輸出寬度而存在的,也就是說給你字串長度個空間,用於存放字串長度的變數。

比如輸入

wewomen

就相當於

printf("%*d%*d",2,2,5,5);

相當於printf("%2d%5d",2,5);輸出 【1個空格】2【4個空格】5

C語言中函式strlen等的實現

include include define max size 1024 把值定義在外面容易修改 int my strlen char str return len char my strcpy char dest,char str1 temp 0 手動加上結束標誌符 return dest int...

C語言中函式strlen等的實現

include include define max size 1024 把值定義在外面容易修改 int my strlen char str return len char my strcpy char dest,char str1 temp 0 手動加上結束標誌符 return dest int...

C語言中 malloc函式用法

一 malloc 和free 的基本概念以及基本用法 1 函式原型及說明 void malloc long numbytes 該函式分配了numbytes個位元組,並返回了指向這塊記憶體的指標。如果分配失敗,則返回乙個空指標 null 關於分配失敗的原因,應該有多種,比如說空間不足就是一種。void...