小编Ten*_*ong的帖子

Scanf读取超过预定义char数组大小的字符串

我正在尝试通过scanf以下方式读取字符串:

char input[8];
scanf("%s",input);
Run Code Online (Sandbox Code Playgroud)

事实证明,该程序可以读取超过8个字符.假设我输入123456789012345并且strlen(输入)返回15.

但是,当我将输入设置为:

char input[4];
scanf("%s",input);
Run Code Online (Sandbox Code Playgroud)

输入"12345"将导致"16146分段错误".谁知道这是怎么回事?

c string scanf char

2
推荐指数
1
解决办法
110
查看次数

标签 统计

c ×1

char ×1

scanf ×1

string ×1