为什么两个程序,只有注释掉其中一个才能运行

您好,麻烦问一下,为什么我两个程序,只有注释掉其中一个才能运行

一:
#include <stdio.h>

int main() {
int a = 0;
int b = 0;
int sum = 0;
printf("请输入两个数:");
scanf("%d %d", &a, &b);
sum = a + b;
printf("sum = %d\n", sum);
return 0;
}

二:
#include <stdio.h>

int main() {
printf("Hello,你好!\n");
return 0;
}

运行结果及报错内容 :first defined here

collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

我的解答思路和尝试过的方法
我想要达到的结果

你这两个写咋一个文件里的?

一个文件中一个main函数
看来是才接触
盲猜一手是大一新生

哈罗,您好。 一个C程序只允许一个main函数的存在呢。main函数是程序的主入口,main函数结束就代表程序结束。 所以要想它们两个都正常运行,请将它们分开编译运行哈

main() 是程序入口啊 你写两个 他不知道走哪一个 所以注释一个 就可以运行