请各位高手救命!a1的值为何不对?

[复制链接]
查看11 | 回复5 | 2008-1-14 13:38:09 | 显示全部楼层 |阅读模式
不对是指什么?输出1.000000算对还是不对?除了声明有点问题以外,你的程序没什么问题呀?
回复

使用道具 举报

千问 | 2008-1-14 13:38:09 | 显示全部楼层
float ave函数未声明参数,但是下面使用时是有参数的。同时,你程序里的数字和编码规范有点小问题,我改了一下。#include#includefloat ave(float x, float y, float z); void main() {float x = 1.0f, y = 1.0f, z = 1.0f, a1; a1 = ave(x, y, z);printf("%f\n", a1); } float ave(float a, float b, float c) {float temp = (a+b+c)/3.0f;return temp;}
回复

使用道具 举报

千问 | 2008-1-14 13:38:09 | 显示全部楼层
楼上说的都很对啊!我补充点.呵呵^^^你的代码中的float ave();应该改成float ave(float,float,float);你的代码中的#include 是多余的,在整个代码运行中都没用到他.此函数库当代码中用到象开方(sqrt)这一类的运算时才用的到!#include //#include *注销此语句float ave(float a, float b,float c){ return (a+b+c)/3;}void main(){ float x=1,y=1,z=1,a1; a1=ave(x,y,z); printf("%f\n",a1);}下面是用C++写的:#include float ave(float a, float b,float c){ return (a+b+c)/3;}void main(){ float x=1,y=1,z=1,a1; a1=ave(x,y,z); cout #includevoid main() { float ave(float a,float b,float c);float x=1,y=1,z=1,a1; a1=ave(x,y,z); printf("%f\n",a1); } float ave(float a,float b,float c) { return (a+b+c)/3; }
回复

使用道具 举报

千问 | 2008-1-14 13:38:09 | 显示全部楼层
float ave();改为:float ave(float, float, float);
回复

使用道具 举报

千问 | 2008-1-14 13:38:09 | 显示全部楼层
#include #include float ave(float a, float b,float c);void main(){
float x=1,y=1,z=1,a1;
a1=ave(x,y,z);
printf("%f\n",a1);}float ave(float a, float b,float c){
return (a+b+c)/3;}
回复

使用道具 举报

千问 | 2008-1-14 13:38:09 | 显示全部楼层
ave函数声明未指明参数第三行改为:float ave(float,float,float);即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行