【发布时间】:2021-05-19 01:19:45
【问题描述】:
我最近开始学习 C,必须创建一个程序,从标准输入中扫描两个整数值,用空格分隔,然后打印这两个整数的总和。必须能够接受负值。我正在使用 repl.it 编写代码 1st 然后粘贴到 .c 中进行编译。
尝试:
#include <stdio.h>
int main() {
int number1, number2, sum;
printf("Enter two integers: ");
scanf("%d", &number1);
scanf("%d", &number2);
// calculating sum
sum = number1 + number2;
printf("%d + %d = %d", number1, number2, sum);
return 0;
}
[OP 最初说“除了这个打印”——但这不是程序输出——这是程序运行之前编译过程中的错误输出]
除非我尝试编译 IDE 输出错误
/tmp/t2-8eec00.o: In function `main':
t2.c:(.text+0x0): multiple definition of `main'
/tmp/t1-f81f83.o:t1.c:(.text+0x0): first defined here
/tmp/t3-72a7ab.o: In function `main':
t3.c:(.text+0x0): multiple definition of `main'
/tmp/t1-f81f83.o:t1.c:(.text+0x0): first defined here
/tmp/main-2c962b.o: In function `main':
main.c:(.text+0x0): multiple definition of `main'
/tmp/t1-f81f83.o:t1.c:(.text+0x0): first defined here
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
exit status 1
输出错误,我犯了什么错误?获取期望值的正确方法是什么?
(例如 1+2=3)
使用它的平台:
【问题讨论】:
-
⟼请记住,尤其是在 Stack Overflow 上学习和提问时,尽可能让代码保持井井有条是很重要的。 Consistent indentation 有助于传达结构,更重要的是传达意图,这有助于我们快速找到问题的根源,而无需花费大量时间来尝试解码正在发生的事情。
-
你是如何编译这个的?是不是不小心贴了两次?
-
这是一个链接时间错误。显示您用于编译的命令行。如果您使用的是 IDE,您的项目中可能有两个文件,每个文件中都定义了 main()。
-
@Tarik 添加了对如何编译代码的编辑
-
看起来您正在尝试编译多个文件,每个文件都有一个
main函数。
标签: c