int a 1 b 2 c 3=5,b=8,c=3,d=12,e=7 int * q[5]={&a,&b,&c,&d,&e} 1.output;2.排序(abcde不变);3排序(不改变q[i])

有以下程序:#include &stdio.h&void fun(int*a,int*b){ int*c; &c=a;a=b;b=c;}main(){ int x=3,y=5,*p=&x,*q=&y; &fun(p,q);printf(&%d,%d&,*p,*q); &fun(&x,&y...
&在手机上阅读
用圣才电子书APP或微信扫一扫,在手机上阅读本书。
摇摇手机,摇出本书学友,交流学习!在学习中交友,在交友中学习。
有以下程序:#include &stdio.h&void fun(int*a,int*b){ int*c; &c=a;a=b;b=c;}main(){ int x=3,y=5,*p=&x,*q=&y; &fun(p,q);printf(&%d,%d&,*p,*q); &fun(&x,&y);printf(&%d,%d\n&,*p,*q);}程序运行后的输出结果是(  )。
A3,5,5,3B3,5,3,5C5,3,3,5D5,3,5,3
在C语言中函数参数传递的功能是“传值”,即形参和实参是两个没有关系的变量。本题函数的形参虽然为指针变量,但是函数内部交换的是地址值,而不是地址值所指向的函数值,所以不会传递给实参,因此交换函数并没有交换p、q所指向的值。
查看完整内容请点击下载:
查看其他试题,请扫描二维码,立即获得本题库手机版:
【网站来源】
配套课程、3D电子书(题库)
正在载入...
我的电子书
24离你最近 武汉大学
天灰灰,心沉沉,谁来陪我上自习
发表学友说
上传图片(0/10)> 问题详情
若有int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*q)[3]=a,*p a[0];则能够正确表示数组元素 a
悬赏:0&答案豆
提问人:匿名网友
发布时间:
若有int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*q)[3]=a,*p a[0];则能够正确表示数组元素 a[1][2]的表达式是 ______。A.*((*q+1)[2])B.*(*(p+5))C.(*q+1)+2D.*(*(a+1)+2)请帮忙给出正确答案和分析,谢谢!
为您推荐的考试题库
您可能感兴趣的试题
1若有int a[]={2,4,6,8,10};int *p=a;则第2个数组元素的正确表示为 ______。A.*p++B.p+2C.&(p+2)D.*(p+2)2类是C++中的一种新的数据类型,下列有关类的说法不正确的是 ______。A.类是一种用户自定义的数据类型B.只有类中的成员函数才能存取类中的私有成员C.在类中,如果不做特别说明,所指的数据均为私有类型D.在类中,如果不做特别说明,所有的成员函数均为公有类型3派生类的构造函数的成员初始化列表中,不能包含 ______。A.基类的构造函数B.派生类中子对象的初始化C.基类的子对象初始化D.派生类中一般数据成员的初始化4类的成员函数中,只能用于检测输入操作的函数是 ______。A.goodB.failC.badD.eof
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:A)int a[]=“string”;B)int a[5]={0,1,2,3,4,5};C)vhst s=“string”;D)char a[]={0,1,2,3,4,5};哪个的定义是对的???
[问题点数:0分]
本版专家分:1
结帖率 100%
CSDN今日推荐
本版专家分:1
结帖率 100%
本版专家分:6867
2002年11月 C/C++大版内专家分月排行榜第一
本版专家分:671
本版专家分:836
本版专家分:878
本版专家分:3781
2003年7月 C/C++大版内专家分月排行榜第二
本版专家分:1235
本版专家分:3240
本版专家分:319
本版专家分:319
本版专家分:455
本版专家分:43
匿名用户不能发表回复!|
CSDN今日推荐C语言 main() {int a[5]={1,2,3,4,5},b[4]={6,7,8,9},*p=a,*q=b}_百度知道
C语言 main() {int a[5]={1,2,3,4,5},b[4]={6,7,8,9},*p=a,*q=b}
{int a[5]={1,2,3,4,5},b[4]={6,7,8,9},*p=a,*q=b
p+=2;q+=3;
*p=*(q)+3;
*(q-1)=*(p+1)-5;printf(&%d\n&,*p);printf(&%d|n&,*q);}求具体推导过程 谢谢
我有更好的答案
main()&&{int&a[5]={1,2,3,4,5},b[4]={6,7,8,9},*p=a,*q=b//p指向a的首地址,即1,q指向b,即6&&p+=2;q+=3;//p地址后移2位,指向3,q同理指向9&&*p=*(q)+3;//赋值语句,将q指向的内容加3赋给p,则p指向的值3变成12,q依旧为9&&&&&&q--;//q地址前移1位,即8&&&*(q-1)=*(p+1)-5;//将p指向位置的下一位的内容即4减去5得-1,赋给q的前一位,则q的前一位变成-1,但q的指向位置没有改变printf(&%d\n&,*p);//输出p的内容,即为12printf(&%d|n&,*q);//输出q的内容,即为8}&这里涉及到很多小知识点,如果不理解,欢迎追问,若满意,请采纳,谢谢
采纳率:61%
p+=2;q+=3;p指针指向a[2],q指针指向b[3]*p=*(q)+3;把a[2]换成12q--;q指针指向b[2]*(q-1)=*(p+1)-5;b[1]换成-1printf(&%d\n&,*p);输出12printf(&%d|n&,*q);8
*p=a 表示指针p指向数组a的首地址即第一个元素;*q=b指针q指向数组b的首地址即第一个元素;p+=2表示数组a的第三个元素,q+=3表示b数组的第四个元素。因此*p=3,*q=9;*p=*(q)+3;这一句是把数组的第三个元素修改为7;此时a={1,2,12,4,5}q--;此时q应指向数组b的第三个元素*(q-1)=*(p+1)-5;这一句是修改b中第二个元素为a中第四个元素的值减去5因此b={6,-1,8,9}一次输出的结果应为12,8;
你应该自己推导,哪里挡住了你的思路,再提问,这样对你理解知识有帮助!
想知道你写的这个程序的意义是什么。
没意义 就是练习题
大哥,自己写的练习,自己推倒不出来么?你想过写这个程序中我要运用什么知识,要达到什么效果,比如将A[]的数和b[]中的数进行交换什么的。你这样写练习题没什么意思。
其他2条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 int a 1 b 2 c 3 x 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信