c语言的指针怎么搞?????

#include
int main()
{
char a[3][6]={"hello","the","world"};
char *pa=a;
pa++;
printf("%c",*pa);

}
[Error] D:\c语言的数据结构\指针\2.4.cpp:5: error: cannot convert char (*)[6]' tochar*' in initialization
需要怎么改???

4个回答

#include <stdio.h>

int main()
{
char a[][6]={"hello","the","world"};
char *pa=&a[0][0];
pa++;
printf("%c",*pa);
return 0;
}
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复JonathanYan: 我对于和人争执既不感兴趣也没有经验。我尊重你的想法,并且直接投降。
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 倒挺会回避问题
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复JonathanYan: 你有不同的意见我都尊重。
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 那你的意思是你想证明一维数组的操作不能影响二维数组这样显而易见的事?
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复JonathanYan: 我的程序里面,&a不是pa
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: pa是一维数组,能输出a[1][0]就怪了
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复weixin_45629315: 你可以实际运行下我的程序,输出结果如果是e就说明我的分析是正确的,如果是a[1][0],那么输出的是t,而a[1][1]是h。虽然作为负责的回答者,我已经验证过我的回答是正确的,但是你最好自己也验证下。
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复weixin_45629315: 解决的话,点一个采纳。
6 个月之前 回复
weixin_45629315
YYH-ZC 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 好的,理解了,谢谢
6 个月之前 回复
dabocaiqq
虾基霸回答 正解,可以采纳了
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复weixin_45629315: 不是,是a[0][1],直到a[0][5]再++才是a[1][0];再++是a[1][1]
6 个月之前 回复
weixin_45629315
YYH-ZC 他执行p++以后是变成a[1][1];了吗?
6 个月之前 回复

不是p++的问题,a是char**,pa是char*,不能转化,应该写成

char** pa = a;

报错里的 D:\c语言的数据结构\指针\2.4.cpp:5: 最后的5指的是第五行,不用往别处找。
图片说明

caozhy
每个人都有一个梦才不会孤单的说话就有天堂 一开始因为程序对错问题我才多说了两句。但是没想到你在与人争执方面确实有厉害之处,于是又惹了一点麻烦。还是得吸取教训。
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 那我也尽可能接收你的错误观点,以后也把回答写清楚省的lz被你误导
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复JonathanYan: 无论你有什么不同的观点,我都尊重
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 我说的就是lz被你带偏啊
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 挺会说啊,净把话题往远了扯,你是真的觉得带偏别人跟没事一样
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复JonathanYan: 我说被带偏是针对lz,并不是针对你。好比一个办公室用酒精灯做爆米花的视频,可能把两个十来岁的小孩带偏,这不是说用酒精灯做爆米花不科学,而是当lz在用A的时候你和他说B,他会误以为你还在说A,这么带偏的,不是B本身错了,明白么?
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 我不知道你懂不懂python,但是我估计你是懂的,所以才在和你讨论中拿python类比。如果这让你感到冒犯了,似乎好像我在"炫耀我懂python"(我实在觉得这种冒犯有点无厘头,但是我尊重你的想法),我实在抱歉。
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 的确是的,但是你的评回复明显和楼主的问题不一致,和c++的原理也不一致,还说楼主会被别人带偏?意思是只要看懂楼主的问题会不会都没问题吗。
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复JonathanYan: 你说“而且你觉得整个CSDN就你一个人懂python?”这显得有些情绪化了。我从来都非常感谢和希望那些指出我错误并且让我不断提高的人的指导。
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 我不否认你的回答本身也没什么大错,但是唯一遗憾的是没有针对lz的问题来回答。特别是你最后的截图,已经是C++了,lz自始至终问的是C语言。请注意,我们之间的探讨,我们可以类比C语言和Python,也可以类比C语言和C++,但是lz仅仅是一个C语言的初学者,这是不同的。请注意我和你之间的探讨和我回答lz问题这是两回事。
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 坦率地说,在csdn回答问题,你知道最大的挑战是什么么?是如何在lz模糊而简略的问题中搞清楚人家想问什么。lz虽然没有交代他想问什么问题,但是他用printf %c而不是%s,这明显说明他的提问是数组指针的内存分布问题(从后面追问看也是如此)。
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 而且你觉得整个CSDN就你一个人懂python?上次那个rotate都没搞清楚咋回事
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 我们讨论的是c++,c++二维加加的结果就是a[1][0],况且这和python有啥关系?
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 或者说你评论里的a[0][1]指的是一维数组?
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 一维指针也是可以的。因为数组的数组是连续排列的。这种操作(把二维数组当成一维处理)在python里叫做flatten
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复JonathanYan: 题主的程序是错误的,不能编译,所以无非是一个怎么修改的方法。问题在于,修改方法不止一种,lz也没有说明他的程序是干嘛的。只能说和你的程序不一样。
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 你都说了是一维数组,还想输出二维数组里的东西?
6 个月之前 回复
JonathanYan
JonathanYan 回复贵阳老马马善福专业维修游泳池堵漏防水工程: 这个人的程序也和题主的不一样,题主注意一下
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 如果不懂得如何去验证,就算告诉你正确的答案,然后路人信口一说,告诉你前面那个正确的答案是错误的,你又会被带偏。
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 一定要理解原理,而不是死记硬背。最关键的,是要懂得自己怎么去验证。其实很简单,你只要把pa++那里改造成循环,然后分别输出下,就知道是怎么变化的了。
6 个月之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 你要注意,这个程序和我给你的程序不一样,我的程序是一维指针。我的讨论是针对我的程序。
6 个月之前 回复
JonathanYan
JonathanYan 回复JonathanYan: 我现在还没搞清楚二维数组怎么赋值,但是a++的结果应该是这样的,你采纳的是错的
6 个月之前 回复
JonathanYan
JonathanYan 回复weixin_45629315: 变成p[1][0],最高维加一
6 个月之前 回复
weixin_45629315
YYH-ZC 还是怎么样,我问一下p++执行以后a怎么变
6 个月之前 回复
weixin_45629315
YYH-ZC 他执行p++以后a[0][0]是变成a[1][1];了吗?
6 个月之前 回复

pa++,每次偏移一个char类型字节。多维数组从低维开始,每一维偏移完才会进行下一维,你可以看一看数组空间的储存方式

你这里pa=a,此时pa指向第一行,pa++后指向第二行,肯定不能输出一个字符

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问