关于C语言的问题

 我来答
滕秀爱宋辛
2020-03-12 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.4万
采纳率:27%
帮助的人:836万
展开全部
a+=f(g(a));开始a=0;
首先调用g(a),由于g(i)参数是传地址,故i在函数体内的修改会保持。故g(a)返回1,返回后a=1;
接着调用f(g(a))=f(1),f(i)参数是传值,i在函数体内修改不会影响外部i的值。f(1)返回2,返回后a=1;但同时a+=f(g(a))=a+f(g(a))=1+2=3;
然后g(g(b)),此时b=0
首先调用g(b),返回1,返回后b=1;
再调用g(g(b))=g(1),返回2,返回后b=1,因为g(g(b))传进去的参数是g(b)返回值,并不是b,故在外层g函数执行过程中b没有改变,还是1;
b+=g(g(b))=b+g(g(b))=1+2
=
3;
f(h(c)),此时c=0
首先调用h(c),返回1,返回后c=0;因为此时传入参数为int,函数参数为char,要进行类型转换,此过程会产生副本,即产生一个c的副本,为char类型,所以此时在函数体中修改c的副本,不会影响外部c的值。
再调用f(h(c))=f(1),返回2,返回后c=0
c+=f(h(c))=0+2
=
2;
钦秀花风婉
2019-03-04 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:25%
帮助的人:675万
展开全部
int
g(int
&i){return++i;}是一个函数,其参数是一个整型的引用,也就是在函数中对此参数进行修改也会影响到实际参数的值.
c+=f(h(c));是一个表达式,把它展开就是c=c+f(h(c))这种形式.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逢微多希慕
2019-06-08 · TA获得超过3667个赞
知道小有建树答主
回答量:3024
采纳率:26%
帮助的人:476万
展开全部
main函数有多种写法的,以下几种都可以:
main()
{
……
}
main(void)
{
……
}
main(int
arg,char
*args[])
{
……
}
void
main()
{
……
}
void
main(void)
{
……
}
void
main(int
arg,char
*args[])
{
……
}
int
main()
{
……
return
0;
}
int
main(int
arg,char
*args[])
{
……
return
0;
}
最后一种是最规范的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
聂雅戴忆之
2020-03-28 · TA获得超过3805个赞
知道大有可为答主
回答量:3113
采纳率:27%
帮助的人:176万
展开全部
1,
http://www.cnblogs.com/corvoh/p/5440734.html
2,慢慢看,细细看,希望能够帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丛聪慕谷梦
2020-03-23 · TA获得超过3700个赞
知道大有可为答主
回答量:3152
采纳率:35%
帮助的人:181万
展开全部
C语言的程序都是靠函数构成的,而函数是有自己的类型的。main作为主函数,函数前面的东西即为函数的类型。
用void形容的函数是无返回值函数,即void
main()则无需返回一个值,但是省略了void也是可以的,不过严格来讲,无返回值函数规范的还是要加void的,如果是个有返回值的函数则必须要用相应的类型来定义。 main()
可以代替
void
main(),
只要在在程序的最后一条加上
return;
,void
main()
有时不能代替
main().完全可以不用viod
main().在VC++6.0中viod
main()
没有返回值.main()
=
int
main()
有返回值.如果只
run
这个程序,
用void
main().如果用函数system
call
这个程序,
有时要返回值.要用int
main().在VC++6.0中,如果用int
main().在程序的最后一条是return();
望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式