l565887 2022-03-16 14:26 采纳率: 0%
浏览 5537

0x00007FFA837F2487 (ucrtbased.dll)处(位于 指针.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000000000000068 时发生访问冲突

问题遇到的现象和发生背景

img

运行结果及报错内容

#include <stdio.h>
int main()
{

char* p = "hello";
char c[10] = "hello";
printf("%s\n", p[0]);
printf("%s\n", c[0]);

}
出现标题错误求大家帮忙

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2022-03-16 14:40
    关注

    printf("%s\n", p[0]);
    说明一下:
    %s格式会认为你后面的变量是字符串地址,但p[10]是p字符串的第一个字符。程序会认为这个字符的ASCII码是一个地址,从而到这个地址取读字符串进行输出,导致错误提示为0x0000000000000068这个地址不能访问,有冲突。因为这个地址是系统保护地址,不能访问的。0x68正好是字符h的ASCII码
    修改方法:
    如果想输出字符串,那么将p[0]改为p,如果想输出p[0]这个字符,那么用%c

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月16日

悬赏问题

  • ¥15 使用ESP8266连接阿里云出现问题
  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角