若有定义语句: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
我想知道其他3个答案为什么是错误的!,
其他人气:434 ℃时间:2019-11-05 20:40:37
优质解答
首先说 指针数组和数组指针.
数组指针 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 << p << endl;//cout << p+1 << endl;//cout << p+2 << endl;//测试(*k)[3]//cout << k << " " << &g<< endl;//cout << k+1 << endl;//cout << k+2 << endl;//测试char s[3][10]//cout << "s="<
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版