我开始使用C Programming Language
通过 Denis M Ritchie学习C编程我试图从那本书中执行程序
#include <stdio.h>
/* count lines in input */
main()
{
int c, nl;
nl = 0;
while ((c = getchar()) != EOF)
if (c == '\n')
++nl;
printf("%d\n", nl);
getchar();
}
但是我得到的是空白控制台,当我输入文字并按回车键时,不会显示任何值。 我正在使用Visual Studio 2013 IDE。
答案 0 :(得分:2)
您在此处发布的计划是为了计算行数。
Q值。但是我得到的只是空白控制台,当我输入文字并按下时 输入,不显示任何值
一个。是的它没有显示任何内容,因为while ((c = getchar()) != EOF)
等到你输入EOF(使用ctrl + z然后你会得到行号)。
答案 1 :(得分:0)
getchar(c);
请参阅getchar
的声明。
int getchar(void)
它不带任何参数。它没有给你错误。
main
应为int main
。
答案 2 :(得分:0)
有几个问题。首先,main必须有一个类型,通常是int
- main()
+ int main()
并且您的程序应该返回退出状态
其次,getchar不带参数,并返回输入
http://www.tutorialspoint.com/c_standard_library/c_function_getchar.htm
- getchar(c)
+ c = getchar()
您可以通过调用
来编译您的程序gcc -Wall test.c -o test
test.c是你的代码,test是二进制文件。 -Wall将显示所有“警告”(不干扰程序执行的错误)
答案 3 :(得分:0)
我相信您使用的是Windows,最好添加:
system("pause");
此外,要使用系统(“暂停”),仅在Windows中,您需要包含另一个库:
#include <stdlib.h>
你可以看到你的结果,但问题在于你有一个无限循环。你需要检查\ n,计算,当你有一个特定的号码时,你就离开了循环。