关于C\C++字符串数组 ,求教
char a[5];
应该定义的下标是0-4。
而最后一个应该是a[4],
按理说此数组下标0-3可以存字符即a[0]---a[3],
而最后一个a[4]应为'\0',但今天一程序如下:
# include <stdio.h>
main()
{
char a[5]="abcde";
printf("%s\n",a);
if (a[5]=='\0')
printf("T");
else
printf("F");
return 0;
}
其结果为:
abcde
T
1.为什么不会出现数组越界的错误呢?
2.能不能总结一下字符串数组呢?