C语言,这题D吧,因为字符串复制只能用strcpy函数,就是strcpy(str[1],"gues

C语言,这题D吧,因为字符串复制只能用strcpy函数,就是strcpy(str[1],"guest")但从另一个角度来说,我记得二维数组不是可以降维使用么?二维数组的s... C语言,这题D吧,因为字符串复制只能用strcpy函数,就是strcpy(str[1],"guest")但从另一个角度来说,我记得二维数组不是可以降维使用么?二维数组的str[0],str[1],str[2]不都是每一行的行指针么,每一行又可以看成是一个特殊的一维数组,那么行指针str[1]指向了这个串的首地址,要是用行指针来解释的话,我觉得D就是对的呀?能清楚的讲一下这题么?谢谢 展开
 我来答
White_MouseYBZ
2016-02-27 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6684万
展开全部
选D,其余都无错。但你关于“降维”的理解是错误的:str[1]...虽然是指针,但不能简单地认为二维数组的第一维是普通指针,它是那一行的数组名,只是可以作为指针来用,即可以用指针操作的一些方法来操作,但并不具备普通指针的所有性质。
更多追问追答
追问
嗯,关于您说“其一”那个,就是char *p="guest"那么第一个元素的地址就赋给了指针p,是这意思吧
追答
char *p="guest"就是把g的地址赋给了p。(上传后发现表述有误,所以把一些句子删除了)
回忆在上辈子
2016-02-27 · TA获得超过1148个赞
知道大有可为答主
回答量:1211
采纳率:0%
帮助的人:900万
展开全部
首先谁告诉你字符串复制只能用strcpy的
另外谁告诉你数组名就是指针了
char str[3][10]是一个二维数组
str[1]是一维数组类型是char [10]而不是char *
记住那是数组不是指针
你char s[10];
s="guest";会是正确的吗?
再次记住,那是数组不是指针,不是指针,谁告诉你是指针的你就找谁去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang06998
推荐于2017-08-28 · TA获得超过5659个赞
知道大有可为答主
回答量:3755
采纳率:83%
帮助的人:2491万
展开全部
你把数组名和指针混淆了。
数组名和指针,使用形式上,除了数组名不允许被赋值以外,其他形式是完全相同的
根本上来讲,数组名不仅不许被赋值,就连类型名都不同。

int a[4],*p;
p=a;
从p=a执行完毕以后,任何时候,用随时可以把a和p进行替换(例外就是p可以被赋值,a不行)
但是,a的类型是int [4],p的类型是int*。

如果是应付考试的话,类型不同这段不用考虑了。

===========================
确实选D
str[1]是数组名,下属10个元素,对应str[1][0]~~str[1][9],数组名,不许被赋值
更多追问追答
追问
哦,这个字符型的二维数组,它的str[0],str[1],str[2]是每一行的行指针,比如str[1]这个行指针,就指向str[1][0]~str[1][9]这10个元素它也是这10个元素的数组名,它是常量,不能被赋值,而不能简简单单的认为它是一个char型的,即使是int型的也不能这样做是吧
那我要是想让str[1]这个字符串指向“guest"这个串,应该怎样写呢?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式