MedicineCabint 2018-10-27 01:48 采纳率: 100%
浏览 1590
已采纳

C++语言为什么没办法连续输入字符串呢?

char *p[5];
for (int i = 0; i < 5; i++)
cin >> p[i];

在编译这一点点代码的时候 
输入第二个字符串的时候就会出现

引发了异常: 写入访问权限冲突。

_Str 是 0xCCCCCCCC。

不明白是为什么。求大神指点。。

  • 写回答

1条回答 默认 最新

  • 内核之道 PostgreSQL领域优质创作者 2018-10-27 02:28
    关注
    楼主:char *p[5];这里你只是定义声明了p是一个数组指针,该数组共有5个元素,其中每个元素是一个指针。需要对每个指针申请一个char大小的内存空间才能向其中赋值。
    不然肯定是非法操作内存块,所以会段错误。修改方法如下:
    
    
    
    
        char *p[5];int i = 0;
        for (i = 0; i < 5; i++)
        {
            p[i] = new char;    
            cin >> p[i];
        }
    
    
    

    望采纳!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题