标题:求助:关于自定义的函数!
只看楼主
jtf1985
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2004-7-29
 问题点数:0 回复次数:5 
求助:关于自定义的函数!

#include<stdio.h> int maxmum(int x, int y, int z); /*说明一个用户自定义函数*/ int main() { int i, j, k; printf("i, j, k=?\n"); scanf("%4d%4d%4d", &i, &j, &k); maxmum(i, j, k); ????? getch(); return 0;      ????? } maxmum(int x, int y, int z) { int max; max=x>y?x:y; max=max>z?max:z; printf("The maxmum value of the 3 data is %d\n", max); } 问题1:在主函数main中,maxmum(i,j,k)语句时做什么的?

问题2:在主函数main中,return为什么返回0?起什么作用?

搜索更多相关主题的帖子: 函数 定义 
2004-07-30 11:47
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 

[1] main 前面不要定义为int,虽然也可以,但是很容易搞乱。 [2] 你这个程序的 main 里面不用return [3] 再回去多看看点书,认真理解一下函数定义以及调用的方法,会有所得。

以下是我帮你修改的程序——输入a,b,c 输出最大者

#include<stdio.h> void maxmum(int x,int y,int z) { int max; max=x>y?x:y; max=max>z?max:z; printf("The maxmum value of the 3 data is %d\n", max); }

main() { int i,j,k; printf("i,j,k=?\n"); scanf("%d,%d,%d", &i, &j, &k); maxmum(i, j, k); getch(); }

如果还有不明白,可以再来问~

[此贴子已经被作者于2004-07-30 12:08:53编辑过]


淘宝杜琨
2004-07-30 12:02
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 

哦,忘记解答你的问题了

问题[1] 在主函数main中 maxmum(i,j,k) 起到的是调用函数的作用 问题[2] 因为你return 0; 当然返回0啦,


淘宝杜琨
2004-07-30 12:07
卧龙先生
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2004-7-18
得分:0 
问题[1] 在主函数main中 maxmum(i,j,k)  中的i,j,k是实参,和定义函数中的形参是对应的。

我是一只小小小小菜鸟!!
2004-07-30 14:10
jtf1985
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2004-7-29
得分:0 

调用maxmum起到什么作用?把maxmum调用到哪去阿?

返回0和返回1或i有什么区别么?


2004-07-30 17:29
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 

所谓调用maxmum就是说让程序跑到指定的函数去执行

例子 int oldman(int x) { printf("For the Lich King!"); x++; return(x); }

main() { int a=1,b; b=oldman(a); printf("a+1=%d ",b); }

int oldman(int x)就是定义函数oldman {}里面的内容就是函数要执行的内容 当主函数main()执行到b=oldman(a);的时候,就会跑到指定的oldman函数去执行{}里面的内容printf("For the Lich King!");

返回值就是执行完这函数后返回的值,再看看例子。我们可以看到输出b的值是2,为什么呢?因为oldman(a)就相当于把main函数中a的值赋给了oldman函数中的x,x=1。然后在oldman中执行了x++,x=2; 再通过return(x)把2返回给主函数main,b=oldman(a); 的意思就是把oldman函数的返回值赋给b,这样b的值就是2了。

[此贴子已经被作者于2004-07-30 18:45:56编辑过]


淘宝杜琨
2004-07-30 18:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-3708-1-1.html




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

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