循环后未输出

kao331431214 2010-07-18 07:17:07
代码
#include <stdio.h>

/* 统计输入的字符数;版本2 */
main()
{
double nc;

for(nc = 0; getchar() != EOF; ++nc)
; /* 空语句 */
printf("%.0f\n", nc);
}

红色的代码未执行

另外一个例子
#include <stdio.h>

/* 统计输入的字符数;版本1 */
main()
{
long nc;

nc = 0;
while(getchar() != EOF)
++nc;
printf("%ld\n", nc);
}

...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kao331431214 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 elegant87 的回复:]

在Dev_C++下面运行了有结果的
EOF是在Ctrl+Z才退出的!
程序没有问题的。可以输出正确结果
[/Quote]
明白了 多谢
kao331431214 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gamemagic 的回复:]

nc为什么是double
[/Quote]

这里数据类型没什么关系
kao331431214 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 joanlynnlove 的回复:]

C/C++ code
char c;
(c=getchar())!=EOF;
[/Quote]
没用啊
getchar()!=EOF;和
char c;
(c=getchar())!=EOF;
一样


#include <stdio.h>

/* 统计输入的字符数;版本1 */
main()
{
long nc;
char c;

nc = 0;
while((c = getchar()) != EOF)
++nc;
printf("%ld\n", nc);
}

测试过了

elegant87 2010-07-18
  • 打赏
  • 举报
回复
在Dev_C++下面运行了有结果的
EOF是在Ctrl+Z才退出的!
程序没有问题的。可以输出正确结果
gamemagic 2010-07-18
  • 打赏
  • 举报
回复
nc为什么是double
acdbxzyw 2010-07-18
  • 打赏
  • 举报
回复
char c;
(c=getchar())!=EOF;
kao331431214 2010-07-18
  • 打赏
  • 举报
回复
晕代码里面不能改颜色

for循环中
printf("%.0f\n", nc);
while循环中
printf("%ld\n", nc);

都未执行

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧