请高手帮忙解答2道C语言选择题
第一题:若定义int*p,*s[5],a[5];下列赋值语句中错误的是A.s=a;B,p=a;C.p=s;D.p=s[0];第二题我用图片插入了。请高手解答下,说的详细点...
第一题:若定义int *p,*s[5],a[5];下列赋值语句中错误的是
A.s=a ; B,p=a ; C.p=s; D.p=s[0];
第二题我用图片插入了。
请高手解答下,说的详细点,最好把每个答案都分析下为什么对或错,先O(∩_∩)O谢谢了,在线等 展开
A.s=a ; B,p=a ; C.p=s; D.p=s[0];
第二题我用图片插入了。
请高手解答下,说的详细点,最好把每个答案都分析下为什么对或错,先O(∩_∩)O谢谢了,在线等 展开
4个回答
2010-12-24
展开全部
第一个题是C错了吧。
这样指针不兼容,一个是一级指针
一个是二级指针,不能直接赋值的。
第二个a+是追加的
那么就是分别写入了i和j
这样指针不兼容,一个是一级指针
一个是二级指针,不能直接赋值的。
第二个a+是追加的
那么就是分别写入了i和j
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是A
我上机试过
scanf("%s%s",a1,a2);
可以正常读取aa bb a1=aa b1=bb
gets(a3);gets(a4);
gets(a3)读取了一个空字符('/0')
gets(a4)读取了 cc dd
所以输出是A ,这个你自己上机调试跟踪就可以了。
这道题说明scanf和gets是有区别的,但我也说不清,上网查吧
我上机试过
scanf("%s%s",a1,a2);
可以正常读取aa bb a1=aa b1=bb
gets(a3);gets(a4);
gets(a3)读取了一个空字符('/0')
gets(a4)读取了 cc dd
所以输出是A ,这个你自己上机调试跟踪就可以了。
这道题说明scanf和gets是有区别的,但我也说不清,上网查吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题答案AC都是错的
A的原因是:s是常量指针,是右值,不得出现在赋值号左边,且不论类型是否兼容
至于答案C,就是类型不兼容,并且如果D成立,则C就不会成立
A的原因是:s是常量指针,是右值,不得出现在赋值号左边,且不论类型是否兼容
至于答案C,就是类型不兼容,并且如果D成立,则C就不会成立
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询