C语言中,下列关于函数的叙述中,正确的的? 解释下为什么,狂谢

A.函数必须有返回值,否则不能调用函数B.函数既可以嵌套调用,也可以嵌套定义C.函数调用时,只能把实参的值传给形参,形参的值不能传给实参D.程序中必须把main函数写在最... A.函数必须有返回值,否则不能调用函数
B.函数既可以嵌套调用,也可以嵌套定义
C.函数调用时,只能把实参的值传给形参,形参的值不能传给实参
D.程序中必须把main函数写在最后
展开
 我来答
hehonghongyang
2010-12-27
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
C正确
A.函数可以没有返回值,如:
void Show(int x)
{
printf("%d\n",x);
}
这个函数的功能仅仅是将传入的x输出到控制台,它没有返回值,但是可用。
B.函数可以嵌套调用,但不可以嵌套定义。标准C语言不支持嵌套定义,但是有编译器是支持的,如gcc,下面这个程序在gcc编译和运行是没有任何问题的,在VC6.0中编译不过,本题中指的应该是标准C语言。
#include<stdlib.h>
#include<stdio.h>
int main()
{
void f(int i)//嵌套定义函数体
{
printf("%d\n",i);
}
int i=1;
f(i);
i=2;
f(i);
return 0;
}
C,对。函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,如想实参的值也改变就必须传入指针。
D.main函数也是一个函数,将它看成普通的函数就可以了,它可以放在任何的位置,只是C语言是以main为入口的,那么在执行main函数时,在它(main)的前面就必须要有其他函数的声明或者定义。如下面例子的两种形式都是正确的。
形式1,其它函数的定义放在main函数前。
#include<stdio.h>
void Show(int x) //函数定义
{
printf("%d\n",x);
}
void main()
{
int x = 0;
Show(0);
}
形式2,其他函数定义放在main函数后。
#include<stdio.h>
void Show(int x);//函数声明
void main()
{
int x = 0;
Show(0);
}

void Show(int x) //函数定义
{
printf("%d\n",x);
}
zzuqqiu
2010-12-25 · TA获得超过4297个赞
知道小有建树答主
回答量:721
采纳率:100%
帮助的人:881万
展开全部
A错,没有返回值也行,不过在函数前面要写void(空)关键词, 以说明函数返回为空
B错,嵌套调用肯定是对的;但嵌套定义没意义,在里面定义的函数,在函数外面不能调用它。
C对,形参的值不能传出去,因为它只是局部变量,函数调用结束后它即消失了。如果形参为指针或引用,实参传进来的就是它自己
D错,main函数可以写在其他函数前面,其他函数可以在main函数后定义。不过其它函数要在main函数前先声明。
比如:
void func();
void main()
{
func();
}
void func()
{
cout<<"hello"<<endl;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liufashuai
2011-01-03 · TA获得超过605个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:266万
展开全部
只有选项C正确,函数可以没有返回值,函数不能嵌套定义,main()函数的位置没有限制,这也是
c语言的自由性的体现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陆菊华
2010-12-25
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
C
main函数可以在程序最前头,最后,或一些函数之前,之后,但程序从main函数开始执行
函数可以嵌套调用,不可以嵌套定义
函数不一定要有返回值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式