puts()和gets()函數
puts()和gets()函數
1. puts()函數
puts()函數用來向標準輸出設備(屏幕)寫字符串並換行, 其調用格式為:
puts(s);
其中s為字符串變量(字符串數組名或字符串指針)。
puts()函數的作用與語printf("%s\n", s)相同。
例4:
main()
{
char s[20], *f; /*定義字符串數組和指針變量*/
strcpy(s, "Hello! Turbo C2.0"); /*字符串數組變量賦值*/
f="Thank you"; /*字符串指針變量賦值*/
puts(s);
puts(f);
}
說明:
(1). puts()函數只能輸出字符串, 不能輸出數值或進行格式變換。
(2). 可以將字符串直接寫入puts()函數中。如:
puts("Hello, Turbo C2.0");
2. gets()函數
gets()函數用來從標準輸入設備(鍵盤)讀取字符串直到回車結束, 但回車符
不屬於這個字符串。其調用格式為:
gets(s);
其中s為字符串變量(字符串數組名或字符串指針)。
gets(s)函數與scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)
函數輸入字符串時存在一個問題, 就是如果輸入了空格會認為輸入字符串結束,
空格後的字符將作為下一個輸入項處理, 但gets() 函數將接收輸入的整個字符
串直到回車為止。
例5
main()
{
char s[20], *f;
printf("What‘s your name?\n");
gets(s); /*等待輸入字符串直到回車結束*/
puts(s); /*將輸入的字符串輸出*/
puts("How old are you?");
gets(f);
puts(f);
puts()和gets()函數