scanf 函式如何輸入乙個帶空格的字串函式

2021-06-22 17:20:56 字數 1171 閱讀 7538

下面例子摘自《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...