无法运行程序

时间:2015-08-12 11:11:12

标签: c visual-studio-2012

我开始使用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。

4 个答案:

答案 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,计算,当你有一个特定的号码时,你就离开了循环。