C语言程序运行时,ENTER何时是换行,何时是执行程序啊?

本人小白,自学中。在跟着码《C语言程序设计》第一章的“字符计数”(1.5.2)节时,遇到了这个问题。我先贴一下代码:#include<stdio.h>/*统计输入的字符数... 本人小白,自学中。在跟着码《C语言程序设计》第一章的“字符计数”(1.5.2)节时,遇到了这个问题。我先贴一下代码:#include<stdio.h>/*统计输入的字符数*/main(){ long nc; nc = 0; while (getchar() != EOF) ++nc; printf("%d\n", nc);}程序很简单,按Ctrl+F5运行之后,在窗口里,我输入了任何内容之后(比如:AAAA),按下ENTER键,就换行了,而不是像之前的例子中提到的程序那样,直接运行出结果(此处应该是4)。求问各位朋友,这是怎么回事啊?具体问题就是:除了ENTER,有什么键是使得自己的程序开始运行的?或者说,就是ENTER键什么时候是“换行”,什么时候又变成了“开始运行程序”呢?
代码输入到文本里变形了,我再补一下图
展开
 我来答
匿名用户
2017-09-03
展开全部

你没理解

在程序运行过程中输入的任何字符都要由你的代码来作判断, 注意是运行过程中

你输入了回车, 你的代码判断到输入的字符是\n, 再作出相应的反应, 意思是由你控制.

你的代码没有达到预期的效果, 是你代码的问题

	long nc;
nc=0;
char c;
while(1)
{
c=getchar();
if(c=='\n') break;
++nc;
}
printf("%d\n",nc);
追问
谢谢大神的热心回答!
我是照着书上的例题抄上去的,书上的例题是可以识别换行符('\n')的,它可以识别好多行的字符然后输出总的字符数量。书中解释了,到了一段字符的最后,出现"EOF"(End of files)就会输出结果。。
我不知道这个EOF到底是怎么输入的,是不是有什么特殊键啊。。还望大神帮着我再解答解答,万分感谢!!感谢!!
追答
它的意思是如果你输入了回车, getchar( )函数会返回一个EOF, 那么while循环就会中止, 接着打印nc的值, 
但是在很多平台下输入回车并不会返回EOF, 所以while继续执行, 程序继续等待你的输入
百度网友a3d73f6
2018-07-03
知道答主
回答量:3
采纳率:0%
帮助的人:2259
展开全部
程序中的EOF用键盘输入指的是ctrl+z。如果想终止程序的话,先回车再ctrl+z。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式