帮忙解释下这个C语言程序

[复制链接]
查看11 | 回复3 | 2009-8-9 09:34:54 | 显示全部楼层 |阅读模式
void类型定义的是main函数,而f函数被定义成int类型所以函数f要有一个 int的 返回值,main是没有返回值的a b是定义在函数f中的,就是说a b只能在函数f中使用main函数是不能使用的同理P也一样,只能在main函数中使用
回复

使用道具 举报

千问 | 2009-8-9 09:34:54 | 显示全部楼层
main函数返回值为void,函数体里没有return语句f函数返回值为int,函数体最后有return(c)main函数体内的int f(int a,int b);这一句是函数声明,因为函数体定义在main函数的外面,所以需提前声明一下,告诉编译器我这个f()函数的函数体定义在后面。写成int f(int,int);也是正确的。你的问题描述很矛盾,我也只能说出如上分析
回复

使用道具 举报

千问 | 2009-8-9 09:34:54 | 显示全部楼层
这是两个函数void 是 main 函数 int 是 f 函数 ,返回值的 是 f函数两回事f 函数的功能是比较两个参数 a b 的大小a 大于 b 返回 1a 等于 b 返回 0a 小于 b 返回 -1main 里调用 函数 f比较 i, ++i 大小然后打印输出比较结果两个参数 用的是同一个变量 i而 ++i 是前缀自加函数参数调用顺序从右向左所以 返回值 是 0所以 p的值 是 0最后打印输出 p
回复

使用道具 举报

千问 | 2009-8-9 09:34:54 | 显示全部楼层
void加在主函数main是说主函数是无返回值的,而f(int a,int b)是自定义函数,被主函数调用之后按作用可分为有返回值和无返回值,本程序是要求调用完函数之后返回一个值C作为函数F的值。a,b只是一个字符,由f(int a,int b)跟f(i,++i)对应可知,a赋值i,b赋值++i,P的值即为函数F的值C。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行