爲什麼gets()在這裏要求字符串。我的意思是,爲什麼它沒有使用前一個printf()中的換行符,程序只是終止? 是的,我知道我應該使用fgets()和類似的東西。請不要提及它。對於參比一般gets()將輸入作爲 n在它之上的printf()的末尾
#include <stdio.h>
main()
{
char str[30];
printf("\n");
gets(str);
puts(str);
}
爲什麼gets()在這裏要求字符串。我的意思是,爲什麼它沒有使用前一個printf()中的換行符,程序只是終止? 是的,我知道我應該使用fgets()和類似的東西。請不要提及它。對於參比一般gets()將輸入作爲 n在它之上的printf()的末尾
#include <stdio.h>
main()
{
char str[30];
printf("\n");
gets(str);
puts(str);
}
從char *gets(char *str)
該手冊:
讀取從stdin並將其存儲到所述串的線指向的, 海峽。當讀取換行符時或到達文件結尾時,停止,以先到者爲準。
從手冊的printf:
函數printf()和vprintf()輸出寫入到stdout,所述 標準輸出流;
如手冊所述,gets
從stdin
讀取一行。
功能printf
寫入stdout
。
因此gets
將不會讀取什麼printf
正在寫。
您的假設不正確,gets()不會使用先前printf()語句的輸出。請解釋你做了什麼,會發生什麼,以及你期望發生什麼。 – nos