11问答网
所有问题
C语言,第八题,讲一下哈哈
如题所述
举报该问题
推荐答案 2016-01-17
(1)这个题目是考察同学对函数调用细节是否真正理解。
(2)分析一下主函数main(),它定义了三个变量xyz并赋值为10,100和1000.。然后调用一个函数fun()。再调用时有三个参数,分别是xyz。最后打印xyz的值。
(3)再分析一下fun()函数,它有三个形参abc,在运行时,它对三个形参分别进行了赋值,最后又把a与b的值进行了对换。同时也应该注意到这个函数是一个无返回值的函数。
(4)要判断打印的内容,首先要确定xyz三个变量的值是多少。这涉及到c语言中函数调用的规则:当调用函数时,先建立形参的内存单元,再把实参的数字对应复制给它们。比如在这个题目中,当调用fun()函数时,先建立三个形参abc的三个内存单元(地址),再把实参xyx的值对应赋给它们,即abc三个内存地址中分别写入xyz的值(10,100,1000)。至此,进入了函数fun()内部运行,所有对形参abc的操作将只影响abc的值,而xyz三个变量是存放在与abc不同的地址中的,它们不爱任何影响。所以,后面的赋值、交换,都不会影响xyz的值。
故,运行完fun函数又回到主函数后,xyz的值仍然是10,100,1000未变,故打印的结果是:10,100,1000,是为C)选项。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/8qv7MPSM4MPSvF84vS.html
其他回答
第1个回答 2016-01-17
函数中的形式参数会开辟新的内存空间,a,b,c和x,y,z没有任何直接或者间接的关系,所以该是多少还是多少
本回答被网友采纳
第2个回答 2016-01-17
fun函数为void类型无返回值所有还是原来顺序
第3个回答 2016-01-17
值传递不改变
第4个回答 2016-01-17
看看主函数,然后再看输出什么就行了
相似回答
C语言
选择题
第八题
char *t=s是什么意思? t-s-1 是什么意思
答:
因为参数是一个指针,char *t=s;就是定义一个指向char的指针并初始化为s相同的地址,也就是指向同一对象。地址之间是可以进行加减法运算的,两个相同类型指针之间的减法返回两指针之间的距离(char对象数),为ptrdiff_t类型,实质是int类型,再减去1就是这个距离再减
1,
这题答案应该是
c
...
大家正在搜
c语言答题题库
大一c语言经典编程题
大一c语言必背编程题
c语言是什么语言
C语言选择题
c语言的题
c语言必考编程题
c语言编程题经典100例
c语言搜题
相关问题
做程序员的黄金年龄是在多少岁?
怎样才能学好英语
求100个笑话,要新的。过时很久的就别来了~~~
羊肚怎么做好吃