c语言选择题

关于函数的下列说法正确的是:()A.函数内部可以改变实参的值B.函数可以有多个返回值C.函数调用时将实参的值赋给形参D.函数可以返回其内部变量的地址求AD的解释,给的答案... 关于函数的下列说法正确的是: ()
A. 函数内部可以改变实参的值B. 函数可以有多个返回值
C. 函数调用时将实参的值赋给形参D. 函数可以返回其内部变量的地址
求AD的解释,
给的答案是C,我就是觉得A中,如果用指针算不算改变实参的值,还有D,到底对不对啊?貌似大家观点都不一样啊
展开
 我来答
bangke007
2012-12-13 · TA获得超过170个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:72.4万
展开全部
当函数的形参为指针变量时,也就是你传递给函数的是一个变量的地址,那么你在函数里面也就是对地址中的变量的操作,所以,函数内部是可以改变实参的数值的。只有当你传递给函数的不是一个地址而是一个变量时,编译器才会把这个值复制到堆栈中,因为所有被调用的子函数的执行过程中,变量都是放在堆栈中进行的。

d中,函数返回的变量类型,如果为指针变量就可以返回地址了。任何一个变量都有地址,当然可以返回变量的地址了。

刚看到各位大侠都这么热心,早知道我就不回答了,⊙﹏⊙b汗。。。

哥们儿,忍了吧,我就认为这题目是多选,。但这是应试教育啊,为了你的考试,你还是按照出题人的答案来理解吧。等你工作中实际用到就知道这种无聊的题目完全是应付考试而已,再没别的用处。
鱼缸扁粉菜
2012-12-13 · TA获得超过741个赞
知道小有建树答主
回答量:595
采纳率:0%
帮助的人:389万
展开全部
B函数无法有多个返回值,可以返回一个复合数据类型,比如结构或者类。

D函数无法返回内部变量的指针和引用。因为函数消失的时候,会将局部变量回收的。指向一个不存在的变量的指针或者引用会出现错误。。

A函数内部当然可以改变一个实际参数的值了。。可以将实参的地址传过去,通过解引操作改变

C函数的确只是将实参赋值给形参而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
战魂皓玄
2012-12-13 · TA获得超过1286个赞
知道答主
回答量:101
采纳率:66%
帮助的人:48.7万
展开全部
A这个在c语言书里都有的
实参的值传给形参,所以函数内部改变的只是形参的值,与实参无关

如果A中用指针的话那么实参就是这个指针了,你不能改变这个指针的值,但是可以改变这个指针所指向地址空间里存储的值。不知道能不能看懂

D错的
函数内的给变量分配的空间在函数结束的时候就释放了,无法返回
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sky_blue852
2012-12-13 · 超过30用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:71.1万
展开全部
A 就不用说了 推荐答案给出的是正确的解释

关于 D 谁说不可以 返回 内部变量的地址 自己看下面的代码
可以说 不推荐不要这么用 但是 不能说 不 可以返回

int * fun()
{
static int i = 0;
return &i;
}

void main()
{
int * p = fun();
*p++;
printf("%d\n", *p);
}

什么书啊 D 代码都写出来了 还有疑问?

静态局部变量的生命 周期和程序是一样的.. 即使函数执行完后, 还是不会被释放...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊·梵beec
2012-12-13 · TA获得超过2160个赞
知道大有可为答主
回答量:1897
采纳率:0%
帮助的人:1379万
展开全部
A、函数无法改变实参的值,指针参数改变的不是指针本身

B、函数可以返回多个不同的值,一次调用只能返回一个值

C、C语言的函数参数全部是值传递的

D、从语法上是没有错误的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式