帮忙看下下面的一段程序哪错了?

来源:百度知道 编辑:UC知道 时间:2024/07/13 01:52:11
#include<stdio.h>
void main(void)
{int a,b,c,i;
scanf("%c" "%c" "%c",&a,&c,&b);
i=fac(a,b,c);
}
int fac(int a,int b,int c);
{
int d;
if(a<b)
d=b
else
d=a;
if d<c
d=c;
return d;
}

if (d<c)
d=c;

//修正完了,自己对比一下代码吧.
#include<stdio.h>
int fac(int a,int b,int c);
main(void)
{int a,b,c,i;
scanf("%c" "%c" "%c",&a,&c,&b);//格式符用d%应该.
i=fac(a,b,c);
}
int fac(int a,int b,int c)
{
int d;
if(a<b)
d=b;
else
d=a;
if(d<c)
d=c;
return d;
}

首先类型不对,你定义的a,b,c,i是int型的,但是你的输入语句scanf("%c" "%c" "%c",&a,&c,&b);输入的是字符型的..将输入语句改为scanf("%d" "%d" "%d",&a,&c,&b);试试...

一楼说得没错!一是数据类型不一致,将%c改为%d还有一点,在主函数前先说明一下int fac(int,int,int)

。。。。
int fac(int a,int b,int c);改为
int fac(int &a, int &b, int &c)
冒号记得去掉

同意 zhenshui007的说法