猿问

Debug/1.exe : fatal error LNK1169: 该怎么办?

Debug/1.exe : fatal error LNK1169: one or more multiply defined symbols found
题目是输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一批正整数(以零或负数为结束标志),求其中的奇数和。
要求定义和调用函数even(n) 判断数的奇偶性,当n为偶数时返回1,否则返回0,函数形参n的类型是int,函数类型是int。
我编的程序如下:
#include <stdio.h>
int even(int n);
int main(void)
{
int n, sum;
int ri, repeat;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
sum=0;
scanf("%d",&n);
while(n>0)
{n=even(n);
sum=sum+n;
scanf("%d",&n);
}
printf("The sum of the odd numbers is %d.\n", sum);
}
}

int even(int n)
{int m;
if (n%2==0)
m=0;
else
m=n;
return m;
C程初学者,每次做这种函数调用题都会出现这种错误。

凤凰求蛊
浏览 219回答 4
4回答

白猪掌柜的

/*把那个函数名even换一下。把repeat也换一下。跟系统的内置函数重名了 *//*试一试这个程序*/#include <stdio.h>int even0(int n);int main(void){int n, sum;int ri, repeat0;scanf("%d", &repeat0);for(ri = 1; ri <= repeat0; ri++){sum=0;scanf("%d",&n);while(n>0){n=even0(n);sum=sum+n;scanf("%d",&n);}printf("The sum of the odd numbers is %d.\n", sum);}}int even0(int n){int m;if (n%2==0)m=0;elsem=n;return m;}

繁华开满天机

#include <stdio.h>int even(int n);int main(void){int n, sum=0;int ri, repeat;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d",&n);if(n>0){n=even(n);sum=sum+n;}}printf("The sum of the odd numbers is %d.\n", sum);}int even(int n){int m;if (n%2==0)m=0;elsem=n;return m;}这个是已调试通过的,你可以自己对比一下,你以前写的那个while部分有问题

慕工程0101907

最后漏写了个 } 结尾。。。#include <stdio.h>int even(int n);int main(void){int n, sum;int ri, repeat;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){sum=0;scanf("%d",&n);while(n>0){n=even(n);sum=sum+n;scanf("%d",&n);}printf("The sum of the odd numbers is %d.\n", sum);}return 0;}int even(int n){int m;if (n%2==0)m=0;elsem=n;return m;}

SMILET

even的函数名称与C库里面的一致,导致冲突。改个名吧。
随时随地看视频慕课网APP
我要回答