昏睡渐醒 2019-10-24 20:18 采纳率: 60%
浏览 270
已采纳

如下,用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条回答 默认 最新

  • threenewbee 2019-10-24 22:57
    关注

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

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

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

报告相同问题?