我是编程新手,目前正在学习 C 编程。我正在使用 GCC 编译器在代码块上编写代码。当我创建一个新项目时(如您所知,它会使用它创建 main.c 文件),因此我无法编译该项目中的另一个文件。
File 1:
#include<stdio.h>
int main()
{
int a,b,c,d;
printf("Enter three numbers\n");
scanf("%d%d%d",&a,&b,&c);
d=a;
if(b>d)
d=b;
if(c>d)
d=c;
printf("\n The maximum of three numbers is %d",d);
}
文件2:main.c
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
当我编译第一个程序时,它显示以下错误:
“main”的多重定义
首先在这里定义
我已经搜索了所有可以搜索的地方,但无法解决这个问题。在关于堆栈溢出的答案之一中,有人建议将其写在
(项目->构建选项...->链接器设置(选项卡))
-Wl,--allow-multiple-definition
我写的时候没有错误。但它无法运行我的文件 1,而是运行 main.c 文件。即使当我关闭 main.c 文件时,它也会再次打开并运行 main.c 文件,该文件给出输出“Hello World!”。
最初当我使用代码块时没有这样的错误。我不知道为什么会发生这种情况,而且我对编译器了解不多。