【问个简单问题】【char数组和int数组的疑问】
char a[10] 把结束符\0算一起的话可以放11个 下标分别为 0 1 2 3 4 5 6 7 8 9 10
而 int a[10] 貌似只能放 10个 下标分别为 0 1 2 3 4 5 6 7 8 9 再放就越界了
各位大神怎么理解? 为什么int数组要比char数组少一个元素?
[解决办法]
char a[10] 把结束符\0算一起的话可以放11个 下标分别为 0 1 2 3 4 5 6 7 8 9 10
??
这个是错误的,下标只能到9,a[9]就是放那个\0的
[解决办法]
额,楼主你怎么说char a[10]是11个的呢?都是10个啊。如果你定义一个char a[10]="0123456789",那么这个字符串的结束符就放在了所谓的第11个位置上,但是那个位置是越界了。如果你定义char a[10]={'0','1','2','3','4','5','6','7','8','9'}。那么就没有第11个位置了。
[解决办法]
因为你理解错了,a[10]放9个+、0.
[解决办法]
char a[10] 把结束符\0算一起的话可以放10个 下标分别为 0 1 2 3 4 5 6 7 8 9 10
而 int a[10] 貌似只能放 10个 下标分别为 0 1 2 3 4 5 6 7 8 9 再放就越界了
int数组和char数组一样多
[解决办法]
char a[10] 把结束符\0算一起的话可以放10个 下标分别为 0 1 2 3 4 5 6 7 8 9 10