gpt4 book ai didi

c - 帮助 K&Rs 计算字符示例

转载 作者:太空狗 更新时间:2023-10-29 16:00:04 25 4
gpt4 key购买 nike

我正在研究 K&R 的第 2 版,我被这个看似简单的例子难住了:

#include <stdio.h>

main(){
double c;
for(c = 0; ((getchar() != EOF) && (getchar() != '\n')); ++c)
;
printf("%.0f\n",c);
}

它根本无法正常工作。我在 (getchar() != '\n') 部分中添加了当我按下 enter 时结束程序的部分,但这对真的也没有帮助。

这是一些示例输出,使用 Mac OSX 10.6 开发工具附带的 gcc

pool-000:Desktop user$ ./a.out 
a
0
pool-000:Desktop user$ ./a.out
asdf

2
pool-000:Desktop user$ ./a.out
asfasf

3

所以显然有些地方是错误的。我在第 18 页,如果有帮助的话。这不是作业,这是为了好玩!

谢谢 :)

最佳答案

每次调用 getchar() 都会等待一个字符被读取,因此您在循环的每次迭代中读取的内容比您想象的要多。

此外,至少在我看来,计数器(几乎)从来不是 double,您应该使用整数类型,例如普通的 int

关于c - 帮助 K&Rs 计算字符示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1658436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com