|
10鱼币
//求平均字符长度
1输入完毕后,先按回车键(不能省),再按ctrl+z,再回车(
不可可加诺干回车空格,但不能省,要有一个),再ctrl+z,才
结束。
2另外如果加上注释里面的printf则会出现输完ctrl+c之后
再输两个回车就会出现最后一次输入的内容
请问为什么要两个ctrl+z才可以结束而且必须是有严格的格式要
求,不能不在两个之间加回车。
还有就是有关第二个现象的疑问。
#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
int n=0,len=0;
float ave;
while(scanf("%s",a)!=EOF)
{
n++;
len=strlen(a)+len;
//printf("%s\n",a);
}
ave=len/(double)n;
printf("%lf ",ave);
return 0;
}
|
最佳答案
查看完整内容
楼主经过我长时间的百度,你的问题终于让我找到了
楼主请看:关于为什么要两次Ctrl+z ,和scanf的读取机制有关:就是在输入流中如果存在有可读的字符,Ctrl+z就不会存放进输入缓冲区。
具体参考这里:http://zhidao.baidu.com/question/54039450.html
|