关于指针数组的一点疑惑

C语言 码拜 7年前 (2015-11-13) 733次浏览
下面一段代码:

#include<stdio.h>
void main()
{
        int i;
        char *pch[6] = {"妹","妹","你","别","走"};
        for (i = 0;i < 6;i ++) 
        {   
                printf("%s",pch[i]);
    
        }   
        printf("\n");
        for (i = 5;i >=0;i--)
        {   
                printf("%s\n",pch[i]);
        }   
}

编译运行后出现如下情况:
妹妹你别走(null)
段错误 (核心已转储)
怎么样才能让他正常不会出现段错误?
隐隐约约的感觉是不是这个字符串数组 {“妹”,”妹”,”你”,”别”,”走”}; 是常量造成的。感觉本人说不清楚。
各位大牛发表下高见啊。

解决方案:80分
访问空指针就会段错误啊
解决方案:19分
printf的%s不支持nullptr空指针吧

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于指针数组的一点疑惑
喜欢 (0)
[1034331897@qq.com]
分享 (0)