97男孩 发表于 2015-7-18 10:45:03

这是为什么?

C:\Documents and Settings\Administrator\My Documents\My Pictures
#include <stdio.h>
int a ={0} ;
int main()
{
       a = 20 ;
        printf("%d ,%d " , a , a);
return 0 ;
}
为什么可以输出a

川本姨夫 发表于 2015-7-18 11:25:45

C/C++不会主动检查数组越界

lark 发表于 2015-7-19 12:16:51

#include<stdio.h>
        int n={0,1,2,3,4};
int main(void){
        int n={5,6,6,8,9,10,11,12,13,14};
       
        printf("%d,%d \n",n,n);
        /*结果显示屏蔽了全局变量;但是不建议全局变量和局部变量
       *设为同一名字的标识符;
       */
        printf("...n=%d,n=%d,n=%d;\n",n,n,n);
        //你可以输出更多,n,n都可以;但是超过n以后的都是乱码,都是无效的数据;
       //就是数组越界,超出了数组所能表示的有效氛围;
        return 0;       
}
页: [1]
查看完整版本: 这是为什么?