本人是个刚学c语言的。从《c程序设计语言》一书的第12页看到有个统计输入字符数的程序。有两个版本。
第一种:
#include “stdio.h”
void main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf(“%ld\n”,nc);
}
第二种:
#include “stdio.h”
void main()
{
double nc;
for(nc=0;getchar()!=EOF;++nc)
; /*书上说的空语句*/
printf(“%.0f\n”,nc);
}
两种都是原书上抄下来的,但都不行。后将第二种中的空语句删除了后却成功的实现了统计输入字符数。而书上的讲“C语言的语法要求for循环语句必须有一个体,因此用单独的分号代替”。
请问:
1.为什么书上的两个程序不行?是否有错误,错在哪里?
2.空语句到底有什么用?为什么用了空语句反而不能成功?
菜鸟在这里先谢谢了。
>> 本文固定链接: http://www.vcgood.com/archives/3251
>> 转载请注明: q378648220 2009年07月27日 于 C语言帝国 发表