【问题标题】:Why won't this simple c programme compile?为什么这个简单的 c 程序不能编译?
【发布时间】:2014-09-26 23:21:48
【问题描述】:

我刚开始第一次学习C,遇到了很多问题。 当我使用 printf 编写 HelloWorld 应用程序时,一切都很好,但是当我包含 scanf 函数甚至 char 变量时,似乎什么都不想工作。我知道这可能是一个愚蠢的问题,但我非常感谢任何可用的帮助。

我在尝试编译时遇到的一些错误包括:

在函数'main'中: 警告:初始化从没有强制转换的指针生成整数 [默认启用]

现在,当我尝试编译时,我没有收到任何错误消息,最后没有生成或可执行文件。请帮忙,非常感谢。

#include <stdio.h>

int main (void)
{
   int Numb;

   printf( "Hello world\n");
   printf( "I'm Kallum/n");
   printf( "Choose a Number Between one and ten: ");
   scanf( "%d", &Numb);
   printf("This is your Number %d!", Numb);
   return 0;
}

【问题讨论】:

  • 它从命令行编译 find 。我最好的猜测是您在设置 Eclipse 项目时做错了什么。
  • 这是一个警告,而不是一个错误。
  • 您说您没有收到错误消息,这是可以预料的,因为问题中的程序看起来不错。我们无法解决您提到的错误消息,因为我们看不到导致它的代码。我的猜测是您的程序 正在 编译并生成可执行文件;你只是没有看到它。问题是知道如何使用 Eclipse(我不知道,所以我无能为力)。
  • @migas:是的,gcc 发出警告,但它是针对违反约束的;恕我直言,它应该是一个致命错误。 (和-pedantic-errors 一样。)但是现在问题中的代码无论如何都不会产生该消息。
  • every printf 格式字符串的末尾使用 \n。或者学习如何使用fflush;通常变量是小写的,所以kalum不是Kalum。编译所有警告和调试信息 (gcc -Wall -g)。并学习如何在命令行编译。

标签: c eclipse


【解决方案1】:

上面的代码将编译并给你预期的输出。我不确定哪个 编译器你在使用 GCC 吗?

小点请先看书看懂,再写代码。

【讨论】:

    猜你喜欢
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多