二级C语言。。。关于指针与二维数组。。。谢谢

若有定义语句:chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是______A)p=s;B)p=k;C)p=s[0];D)k=s;答案给的是C,可我... 若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是______
  A)p=s; B)p=k; C)p=s[0]; D)k=s;

答案给的是C,可我觉得每个选项都对啊。。。求教各位大神,帮我讲解下吧,谢谢
展开
 我来答
百度网友344bd83
2012-03-06 · TA获得超过173个赞
知道答主
回答量:63
采纳率:0%
帮助的人:68万
展开全部
A) p是一个指向char类型的指针,如果指向数组,则数组也应该是一维数组才可,这里s是二维数组,不可
B)k是一个数组指针,它指向一个数组,但是这个数组要求有三个char类型的数据,跟p不匹配,不可
C)s[0]表示s这个二维数组的第一行,也就是,它属于一维数组,跟p匹配,可
D)将一个二维数组赋值给一个指向一维数组的指针,不匹配,不可
sun_siliang
2012-03-05 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4727万
展开全部
选C是正确的。原因就是p与s[0]的类型都是int *,其他不能选的原因是等号两边的类型不一致。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小0坏0
2012-03-05 · 超过32用户采纳过TA的回答
知道答主
回答量:149
采纳率:72%
帮助的人:48.9万
展开全部
s 数组 二维和一维没多大区别 K是指针数组 只指向某一段空间 p是指针 但是只只想一个
A中 P不是指针数组 错 B中指针 不能付给指针 没意义 错 C中 指针K的空间不够
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
devin3970285
2012-03-05
知道答主
回答量:10
采纳率:0%
帮助的人:13.7万
展开全部
我觉得把。
A中。P可以用P=S的这样的定义表示P指向一个一维数组。,二维好像不行。。好像是因为那个地址不是那样算的。嗯。。P=S[0][ X],P+1=S[1][ X]。
B中 K应该是个指针数组把。。应该是*P=K,这样的把。。?
D中 K是指针数组的地址。S是二位数组的地址。这样好像毫无意义。。。

额。不好意思。。不对的地方请指教。。
我也在学习的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ehana06
2012-03-05 · TA获得超过334个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:330万
展开全部
a,b,c,d都对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
商法典111
2012-03-05
知道答主
回答量:78
采纳率:0%
帮助的人:22.7万
展开全部
只有s后面有中括号,代表整体数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式