菜鸟求教一道极简单的C语言题?
#include<stdio.h>intmain(){intmax(floatx,floaty);floata,b;intc;scanf("%f,%f",&a,&b);c...
#include<stdio.h>
int main()
{int max(float x,float y);
float a,b;
int c;
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
int max(float x,float y)
{float z;
z=x>y?x:y;
return(z);
}
我就是找着数抄下来的。就是两个数比大小。
输入两个数1.5,2.6
运行结果居然是max is 1
这到底是为什么啊??
用的IDE是VS2010学习版 展开
int main()
{int max(float x,float y);
float a,b;
int c;
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
int max(float x,float y)
{float z;
z=x>y?x:y;
return(z);
}
我就是找着数抄下来的。就是两个数比大小。
输入两个数1.5,2.6
运行结果居然是max is 1
这到底是为什么啊??
用的IDE是VS2010学习版 展开
4个回答
展开全部
#include<stdio.h>
int main()
{float max(float x,float y);//int改为float
float a,b;
int c;
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
float max(float x,float y)//int改为float
{float z;
z=x>y?x:y;
return(z);
}
//这样就不会错了
//因为你的函数返回值是整数,系统自己取整了
int main()
{float max(float x,float y);//int改为float
float a,b;
int c;
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
float max(float x,float y)//int改为float
{float z;
z=x>y?x:y;
return(z);
}
//这样就不会错了
//因为你的函数返回值是整数,系统自己取整了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{float max(float x,float y);
float a,b;
float c; //定义为浮点
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("max is %f\n",c);
return 0;
}
float max(float x,float y) //返回类型浮点
{float z;
z=x>y?x:y;
return(z);
}
int main()
{float max(float x,float y);
float a,b;
float c; //定义为浮点
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("max is %f\n",c);
return 0;
}
float max(float x,float y) //返回类型浮点
{float z;
z=x>y?x:y;
return(z);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把c定义成int的了,int是整数,所以小数会被截断,只取整数位
你把int c 改为float c
printf("max is %d\n",c);改为
printf("max is %f\n",c);
你把int c 改为float c
printf("max is %d\n",c);改为
printf("max is %f\n",c);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询