作业帮 > 综合 > 作业

若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句正确的是:A、p=s; B、p=k; C、

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 08:16:30
若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句正确的是:A、p=s; B、p=k; C、 p=S[0] D、k=s
我想知道其他3个答案为什么是错误的!,
若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句正确的是:A、p=s; B、p=k; C、
首先说 指针数组和数组指针.
数组指针 char (*k)[3];
数组指针 char s[3][10] *(p[3]) p[3]存储的都是char*指针.
p*是普通的char指针
所以 p=s[0]正确
再问: 我没看懂你想表达的是什么?可能我的水平有限!!
再答: p=s; s+1一次移动的是10个字节,p+1一次移动1个字节 p=k; 与上同理。 k=s k+1一次移动3个字节 ,s+1个字节 例子: //逐步取消注释 运行。 #include using namespace std; int main() { char s[3][10]={{"abc"},{"cde"}},(*k)[3],*p; char g[3]={'s','a','\0'}; k = &g; p = g; //p = &s[0][0];与p=s[0]同理 这里不要取消注释。 //测试p //cout