为啥这个简单的 c 程序不能编译?

Posted

技术标签:

【中文标题】为啥这个简单的 c 程序不能编译?【英文标题】: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)。并学习如何在命令行编译。 【参考方案1】:

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

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

【讨论】:

以上是关于为啥这个简单的 c 程序不能编译?的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序错误 为啥OXFFFFFF的内存不能written 编译没有问题啊 请问为啥啊

为啥这个 C 语言中的 SIMD 示例代码可以用 minGW 编译,但可执行文件不能在我的 Windows 机器上运行?

为啥在网上找的一些c语言程序的代码在vc++6.0中编译总是出现错误?求指教

为啥这个 C 程序会崩溃?它编译得很好[重复]

const常量不能被修改,为啥编译还能通过?

为啥在eclipse中这个程序无法编译通过?