为啥这个简单的 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 机器上运行?