c语言中如何用EOF结束gets的输入?(必须要用EOF结束句子的读入)

如题所述

在windows下运行程序时 输入组合键Ctrl+Z
在Linux下输入Ctrl+d

就会让程序读到一个EOF
对于gets来说碰到EOF返回NULL

getchar()碰到EOF返回EOF 也就是-1追问

噢噢,我想是我表述不清了,我要问的是编写这么样的结构:
我写while(gets(a)!=EOF){}这样的的结构,但是不知道怎么写。。。

追答

while(gets(a)!=NULL)

追问

必须用EOF停止来读入字符串,可以用scanf吗,怎么操作?
谢谢回答

追答

跟你说遇到EOF gets会返回NULL
你叫我怎么办 你用getchar一个个处理
while((c=getchar())!=EOF){
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-09
因为ascII码对应的数据是0~127不存在负数、而EFO宏定义为负一。当判断输入字符==EOF的时候就自动退出循环追问

必须用EOF停止来读入字符串,可以用scanf吗,怎么操作?
谢谢回答

c语言中如何用EOF结束gets的输入?(必须要用EOF结束句子的读入)
在windows下运行程序时 输入组合键Ctrl+Z 在Linux下输入Ctrl+d 就会让程序读到一个EOF 对于gets来说碰到EOF返回NULL getchar()碰到EOF返回EOF 也就是-1

C语言中,怎么用EOF结束输入
首先在最后一行结束后(此时未换行)输入ENTER键,新起一行,再输入ctrl+z,再输入时ENTER键即可。Linux:直接按CTRL+D快捷键 示例:include<iostream> using namespce std;void main(){ int a;while(cin >>a){ ;\/\/循环输入的代码块 } } ...

c语言程序设计 怎么以输入EOF结束
所以用gets读入时可以这样判断:char s[100];while(1){ if(gets(s) == NULL) break;\/\/ 当gets返回NULL时代表遇到EOF,结束输入。} 当输入为文件时,遇到文件结尾C语言可以自动识别EOF,但如果输入为命令行交互模式,那么需要手动输入EOF. 在windows平台输入EOF的方法为,同时按下ctrl和z键。如果...

C语言里的EOF(结束程序)怎么用?
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。一般EOF的值为-1,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作...

C语言输入字符串如果为EOF则跳出循环 怎么弄啊
gets()返回的是指针,如果输入有误或者没有输入的话返回的是空指针,所以应该是gets(a)!=NULL 而且最好写成while(gets(a)!=EOF && gets(b)!=EOF),因为逗号表达式取的是最后一个表达式的值,照你那意思改写的话,要按两次Ctrl+C才能退出,这个只要按一次就行了 ...

C语言编写,统计输入的行数,输出用EOF结束输入.
本题中的“用EOF结束输入”是指,在结束输入之后要再输入一个结束字符(按CTRL+Z键)之后再按回车。\/\/--- include <stdio.h> int main(void){ char a;int i=0;while ((a=getchar())!=EOF)if (a=='\\n') ++i;printf("%d",i);return 0;} \/\/---...

C++中,eof怎样用的,我是用它来判断输入是否结束了!!
1、首先,在C语言编程软件中,定义一个布尔型变量,保存判断的结果。2、接着,定义一个字符型变量,保存输入的标识符。输入一个标识符,保存在变量id中。3、判断标识符的首字母,看它是否符合标识符要求。4、用for循环判断标识符的每个字符,看它是否符合标识符的要求。5、最后,如果判断结果为true,...

gets在c语言中怎么用
在C语言中,gets函数用于从标准输入(通常是键盘)读取一行字符串,直到遇到换行符('\\n')或读取到EOF(End Of File,文件结束标志)。gets函数通常用于读取用户输入的字符串,但在实际应用中需要注意安全性问题,因为该函数无法限制输入的长度,容易导致缓冲区溢出。我们使用printf函数输出读取到的字符串...

c语言中EOF的用法
c语言中EOF的用法 1、EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是档案(file),也可以是标准输入(stdin)。EOF不是特殊字元,而是一个定义在标头档案stdio.h的常量,一般等于-1:#define EOF (-1)。除了表示档案结尾,EOF还可以表示标准输入的结尾。但是...

c语言EOF不能结束循环,,
Windows下EOF用Ctrl+Z输入。而且,要另起一空行输入,Ctrl+Z之前不得有任何其他字符。比如 include "stdio.h"\/\/#include "string.h"\/\/void main(void){ char ch; while((ch=getchar())!=EOF) putchar(ch);}输入:abcdefg abcdefg ^Z 才能正常结束循环。

相似回答