| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 615 人关注过本帖
标题:[求助]函数不声明会产生什么结果?
只看楼主 加入收藏
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
 问题点数:0 回复次数:9 
[求助]函数不声明会产生什么结果?
#include<stdio.h>
main()
{float a,b;
int c;
scanf("%f,%f,",&a,&b);
c=max(a,b);
printf("Max is %d\n",c);
}
max(float x,float y)
{float z;
z=x>y?x:y;
return(z);
}
输入2.5,1.5 tc输出结果却是1,vc输出结果是2,为什么?
如果改成

#include<stdio.h>
max(float x,float y)
{float z;
z=x>y?x:y;
return(z);
}
main()
{float a,b;
int c;
scanf("%f,%f,",&a,&b);
c=max(a,b);
printf("Max is %d\n",c);
}
结果是2,应该和声明有关,但不知道原因是什么
main()
{int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("Max is %d\n",c);
}
max(int x,int y)
{int z;
z=x>y?x:y;
return(z);
}这个程序的输出结果也是2,很难理解?

[此贴子已经被作者于2007-4-23 22:04:30编辑过]

搜索更多相关主题的帖子: float 函数 max 结果 
2007-04-23 21:39
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
不知你想问什么?


你的最大值不是2.5因为你的变量C是整型数。

还有,如果你的主函数在前,必须要先声明。
2007-04-23 21:56
静夜书生
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-3-18
收藏
得分:0 

默认的返回是整型的值.应该在函数前加.float 试试看吧

2007-04-23 21:58
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
第一个程序,在TC下的结果,输入:
67.4 54.4
Max is 3

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-04-23 22:00
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
#include<stdio.h>
int max(float x,float y);
main()
{
float a,b,c;
scanf("%f%f,",&a,&b);
printf("a=%f b=%f\n",a,b);
c=max(a,b);
printf("Max is %f\n",c);
}


int max(float x,float y)
{
float z;
z=(x>y)?x:y;
printf("z=%f\n",z);
return(z);
}

2007-04-23 22:30
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
d 是十进投影整型数。 f 表示实型数
2007-04-23 22:32
raulxxyuer
Rank: 1
等 级:新手上路
威 望:1
帖 子:178
专家分:0
注 册:2007-4-23
收藏
得分:0 
应该先对函数进行申明,要不然会出现无法意料的错误......

我很沒用,總是學不會遺忘,總是學不會割捨本不屬於我的東西。
2007-04-23 22:43
yu_hua
Rank: 2
等 级:论坛游民
帖 子:222
专家分:95
注 册:2006-8-10
收藏
得分:0 
顶7楼。
实在不想“申明”则应将被调函数先写出来,发调函数写在它后面。
2007-04-24 08:37
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
你的函数没有加返回值类型,加float就应该对了,因为系统给它加默认的是int型得.

学习需要安静。。海盗要重新来过。。
2007-04-24 09:00
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 

函数不声明且函数在main()之后,根本编不过的!


2007-04-24 11:13
快速回复:[求助]函数不声明会产生什么结果?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037014 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved