定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C)p=s[0]; D)k=s
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 01:13:17
定义语句:chars[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是A)p=s;B)p=k;C)p=s[0];D)k=s定义语句:chars[3][10],(*k)[3],*p;,则
定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C)p=s[0]; D)k=s
定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C)p=s[0]; D)k=s
定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C)p=s[0]; D)k=s
对于答案是C的原因:
s是字符类型的二维数组、k是指向字符类型数组的指针(是数组指针)、p是字符类型的指针.
所以,看答案可以知
A)错:因为s为数组,而p是字符指针.类型不对应.
B)错,原因同A)
D)错,s实际是char类型的二维数组的头地址.而k是指向char类型的一维数组的指针.
具体看c++指针部分.