【发布时间】:2014-10-13 20:18:43
【问题描述】:
我在代码下方运行并尝试使用 sscanf 复制数据。
#include<stdio.h>
int main()
{
char str[25]="";
char* str2="1234567890123456789012345678901234567";
sscanf(str2,"%s",str);
printf("str =%s,\nstr2=%s,\nsizeof(str)=%d",str,str2,sizeof(str));
return 0;
}
下面是我得到的输出:
str =1234567890123456789012345678901234567,
str2=1234567890123456789012345678901234567,
sizeof(str)=25
谁能帮我解释一下为什么 str 存储的数据超过了它的大小。
gcc 版本 4.8.3
提前致谢。
【问题讨论】: