weixin_45629315
YYH211
采纳率33.3%
2019-10-02 09:44 阅读 1.1k

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条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2019-10-02 09:46
    #include <stdio.h>
    
    int main()
    {
    char a[][6]={"hello","the","world"};
    char *pa=&a[0][0];
    pa++;
    printf("%c",*pa);
    return 0;
    }
    
    点赞 1 评论 复制链接分享
  • JonathanYan JonathanYan 2019-10-02 09:56

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

    char** pa = a;
    

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

    点赞 评论 复制链接分享
  • qq_45529757 我就是小白啊 2019-11-08 09:42

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

    点赞 评论 复制链接分享
  • weixin_46024012 weixin_46024012 2020-01-04 22:34

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

    点赞 评论 复制链接分享

相关推荐