定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C)p=s[0]; D)k=s
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 22:33:46
![定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C)p=s[0]; D)k=s](/uploads/image/z/2693617-25-7.jpg?t=%E5%AE%9A%E4%B9%89%E8%AF%AD%E5%8F%A5%EF%BC%9Achar+s%5B3%5D%5B10%5D%2C%28%2Ak%29%5B3%5D%2C%2Ap%3B%2C%E5%88%99%E4%BB%A5%E4%B8%8B%E8%B5%8B%E5%80%BC%E8%AF%AD%E5%8F%A5%E6%AD%A3%E7%A1%AE%E7%9A%84%E4%B8%BA%E5%95%A5%E6%98%AF+A%29p%3Ds%3B+B%29p%3Dk%3B+C%29p%3Ds%5B0%5D%3B+D%29k%3Ds)
xRNP.-4qB/dc4j-iT-qa)&K_c0Es{ϙsfδi[4V -cWUF.Y|bρ\óՋʒ*|_lm1YVJ
定义语句: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++指针部分.