weixin_44021742
河水不犯
采纳率72.4%
2019-10-24 20:18

如下,用scanf赋值char型数组时,程序出现错误,strlen的值变成很大的数,请问我的错误在哪里?

已采纳

...
int a;
char six[10];
scanf_s("%s",six);
a = strlen(six);
printf("%d", a);

下面这个是报的相关消息
0x6C87D4EC (ucrtbased.dll)处(位于 进制转换.exe 中)引发的异常: 0xC0000005: 写入位置 0x01300000 时发生访问冲突。

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前

    scanf_s("%s",six);
    ->
    scanf_s("%s",six, 10);

    输入的字符串长度不要大于9(因为还有一个结束符号)

    点赞 1 评论 复制链接分享