读书人

哪位高手给讲讲这段代码

发布时间: 2013-04-21 21:18:07 作者: rapoo

谁给讲讲这段代码

#include<stdio.h>
int main(void){
int i;
char *str="abc";
char visit[5] = {0};
visit[str[2]] = 3;
printf("%c\n",str[2]); //输出字母C
printf("%d\n",str[2]); //输出数字99
printf("%o",visit[str[2]]);//输出数字3
}
为什么只有5个字符数组visit,visit[99]还能赋值???
求解释 谢谢!!!


如果要写了这样一条代码:a[2]='s';内存就会变成下面这个样子:哪位高手给讲讲这段代码此时数组b的内存空间就被破坏掉了,会出现未知的错误,这就叫做数组越界,编程时要注意这一点的。

读书人网 >C语言

热点推荐