编译计算正整数总和的代码时遇到问题。令我困惑的是我设法在Online C Compiler(https://www.onlinegdb.com/online_c_compiler)上成功编译并运行代码,但在VS2017上获得了LNK2005和LNK1169错误。怎么解决?
//Calculate total sum of positive integer.
#include <stdio.h>
int sum(int n);
int main(void) {
int n;
printf("Enter positive value of integer: ");
scanf("%d", &n);
printf("\nTotal value for %d is = %d\n", n, sum(n));
return (0);
}
int sum(int n) {
if (n == 0) return 0;
else return (n*(n+1)/2);
}
顺便说一句,请忽略VS2017上的scanf警告,稍后我会将其更改回scanf_s。
答案 0 :(得分:4)
如果您有多个包含main函数的源文件,则会发生这种常见错误。
答案 1 :(得分:1)
问题出现了,因为我的VS2017解决方案中有2个源文件。删除一个将允许程序成功编译。