在windows平台,一般模拟EOF的输入是在一个新行的开头输入ctrl + z,回车,就行了
在*nix环境下,是在一个新行的开始出输入ctrl + D就可以了
当使用scanf语句,你打完回车以后。这个回车会作为一个字符读入到缓冲区中,当执行到gets语句时,就会自动读入这个换行符。相当于gets读入了一个'\n'。只要在scanf语句后加一句getchar()就行了fgets函数是从输入流中读取一个字符串,它是遇到换行符,或者传输了限定的字符数量,或者遇到EOF文件尾就停止(它会把换行符也加到接收字符串里面);而用scanf的%s去接收输入字符串,它是遇到空白字符就停止,而且它无法限定接收字符串的长度。这就是它们之间的区别。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)