我在模拟系统里面一直错,复制了答案还是错,当时以为是系统问题,然后考试碰到这个,寄
让你用vs2010,你用的恐怕不是vs2010吧
- 数组的下标是有范围限制的,越界是一个比较严重的问题,越界就是超过了该数组的管辖范围,可能不会报错,但会导致结果不准确。编译器的不同,越界引起的问题也不一样,我们只需了解即可,切记不要越界
- 数组的下规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1。所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。
- C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就是正确的,所以程序员写代码时,最好自己做越界的检查。
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int i = 0;
for(i=0; i<=10; i++)
{
printf("%d\n", arr[i]);//当i等于10的时候,越界访问了
}
return 0;
}
还是要注意下标取值范围,避免越界。减少不必要的麻烦,重要的事情要多次说,大家一定要注意每一个细节哦,细节决定成败。