定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 C?A)p=s; B)p=k; C)p=s[0]; D)k=s

如题所述

A——p是char *型,s是char (*)[10]型,二者类型不匹配,错。
B——p是char *型,k是char (*)[3]型,二者类型不匹配,错。
C——p是char *型,s[0]就是&s[0][0],也是char *型(&s[0][0]是第0行第0个元素的地址),正确。
D——k是char (*)[3]型,s是char (*)[10]型,二者不类型不匹配,错。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-20
p是char型指针,必须指向char型变量,s是char型数组,k是char型指针数组,s[0]是char型变量,所以A,B都错了,C是对的,k是char型指针数组,当其单独使用时表示首地址即此数组中第一个指针,也应该指向char型变量,而s是char型数组,所以错误本回答被提问者采纳
相似回答