# include <stdio.h>
char *gets(char *str);
# include <stdio.h> int main(void) { char str[20] = ""; //字元陣列初始化 printf("請輸入字串:"); gets(str); printf("%sn", str); return 0; }輸出結果是:
gets(str);完全可以取代:
scanf("%s", string);不僅程式碼更簡潔,而且可以直接輸入帶空格的字串。同樣,前面章節中,對字元指標變數所指向的記憶體單元進行初始化也可以用 gets(),下麵將那個程式也改一下,將 scanf 換成 gets():
# include <stdio.h> int main(void) { char str[30]; char *string = str; //一定要先將指標變數初始化 printf("請輸入字串:"); gets(string); //也可以寫成gets(str); printf("%sn", string); //輸出引數是已經定義好的“指標變數名” return 0; }輸出結果是:
# include <stdio.h> int main(void) { char str[30]; char ch; printf("請輸入字串:"); gets(str); printf("%sn", str); scanf("%c", &ch); printf("ch = %cn", ch); return 0; }輸出結果是: