下面例子摘自《c程式設計師成長攻略》
我們用scanf()函式輸入乙個帶空格的字串函式時,經常會在第乙個空格時就停止輸入。
下面有兩種方法可以完整輸入字串
1)利用strcat()函式來實現帶空格字串的輸入,可以用字串追加函式strcat()來連線每個單詞。
strcat()一般格式:char*strcat(char*dest,const char*src);
函式將字串src連線到dest的尾端,並返回字串dest的首指標。
#include 「stdio.h」
#include 「string.h」
#include 「conio.h」
void main()
char *str,*s1,*s2;
clrscr(); / /清屏
scanf(「%s」,str); //輸入字串
scanf(「%s」,s1); //此後兩個輸入語句不需要使用者進行輸入
scanf(「%s」,s2);
strcat(str,「」);
//連線乙個空格
strcat(str,s1);
//連線單詞
strcat(str,」」);
//連線乙個空格
strcat(str,s2);
//連線字串
printf(「\n%s」,str); //輸出字串str
}
2)利用格式符「%」它的作用為掃瞄字元集合。
scanf(「%[^c]」,str);
其中「c」是乙個具體的字元常量(包括控制字元)。
當輸入字串時,字元「c」將被當作當前輸入的結束符。
如同預設情況下空格和回車鍵以及tab鍵是作為字串輸入的結束符一樣,利用此格式符便相當於由程式設計者自己指定乙個輸入結束符。
#include」stdio.h」
#include 「conio.h」
void main()
{ char *str;
clrscr();
scanf(「%[^\n]」,str); //以換行符作為字串輸入的結束
printf(「\n%s」,str);
scanf 乙個神奇的函式
scanf函式,與printf函式一樣,都被定義在stdio.h裡,因此在使用scanf函式時要加上 include。它是格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中,其關鍵字最末乙個字母f即為 格式 format 之意。scanf 格式控制,位址表列 int scanf c...
scanf的乙個擴充套件的輸入格式
上面的兩個scanf的格式比較特殊。第乙個表示輸入字串,直到遇到不在a z中的乙個字元則結束輸入。後者相反,輸入字串,直到遇到a z中的乙個字元則結束輸入。如,對於上面的程式執行 msdn的說明 reading undelimited strings note that a z and z a ar...
如何用scanf讀取乙個句子
因此有下面兩種方法可以在使用scanf時完整輸入字串 1 利用strcat 函式來實現帶空格字串的輸入,可以用字串追加函式strcat 來連線每個單詞。strcat 一般格式 char strcat char dest,const char src 函式將字串src連線到dest的尾端,並返回字串d...