問題回答**:
看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...