标题:关于字符数组越界仍能正确存储并显示的疑问
取消只看楼主
全世界安静
Rank: 2
等 级:论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
结帖率:31.58%
 问题点数:0 回复次数:0 
关于字符数组越界仍能正确存储并显示的疑问
#include <stdio.h>
void main()
{
    char s[5];
    int i;
    scanf("%s",s);/*输入abcdef,明显越界*/
    printf("%s\n",s);
    /*结果仍正常显示abcdef*/
    for(i=0;i<5;i++)
        printf("%c",s[i]);
    /*结果正常显示abcde*/
}
请问定义char s[5]后,系统开辟了5个字节的存储空间,为何越界仍能正确存储并显示?并且还能正确在末尾自动加'\0'?
搜索更多相关主题的帖子: include 存储 越界 
2012-06-08 13:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-371087-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.761976 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved