关于C语言中数组的疑问
为什么我写这样的数组显示# include<stdio.h>
int main(void)
{
int a = {0,1,2,3,4,5};
int i ;
printf("%d\n",a);
return 0;
}
会显示错误?数组不能包含0吗?有没有大神可以解惑一下。 并不是,是因为数组是以0开始索引的,你想要打印第一个元素,得用a。
P.S: 你的数组越界了 估计是给的警告,未被引用的局部变量 i
直接忽略即可 永恒的蓝色梦想 发表于 2020-5-6 14:25
估计是给的警告,未被引用的局部变量 i
直接忽略即可
TA的数组越界了 qiuyouzhi 发表于 2020-5-6 14:24
并不是,是因为数组是以0开始索引的,你想要打印第一个元素,得用a。
P.S: 你的数组越界了
我知道从a才代表数组中的第一个元素。我只是不明白为什么a = 0这么写是不对的 liuzhengyuan 发表于 2020-5-6 14:25
TA的数组越界了
哦,我明白你说的了 jjboy 发表于 2020-5-6 14:26
我知道从a才代表数组中的第一个元素。我只是不明白为什么a = 0这么写是不对的
正确的呀
估计是因为你定义了一个i,却没有用,编译器给的警告吧 jjboy 发表于 2020-5-6 14:26
我知道从a才代表数组中的第一个元素。我只是不明白为什么a = 0这么写是不对的
5个元素的数组扔进去了6个元素 错的地方应该是我的数组的元素中出现了0.
也就是为什么 a【0】= 0 是错误的,a【0】不也是也个变量吗,我给他赋值0,为什么就报错呢 qiuyouzhi 发表于 2020-5-6 14:27
正确的呀
估计是因为你定义了一个i,却没有用,编译器给的警告吧
不是呢,我把0移除就不会报错,也不会警告, 最主要的问题出在我的元素中有0 jjboy 发表于 2020-5-6 14:30
不是呢,我把0移除就不会报错,也不会警告, 最主要的问题出在我的元素中有0
# include<stdio.h>
int main(void)
{
int a = {0, 1, 2, 3,4};
a = 0;
printf("%d\n",a);
return 0;
}
这段代码在Dev-C++上没有任何异常 qiuyouzhi 发表于 2020-5-6 14:31
这段代码在Dev-C++上没有任何异常
我知道原因了,可能是因为我的元素超出了我定义数组的数量,谢谢{:5_109:} jjboy 发表于 2020-5-6 14:36
我知道原因了,可能是因为我的元素超出了我定义数组的数量,谢谢
那就设个最佳答案吧~ 数组越界,元素比定义的长度还大。 qiuyouzhi 发表于 2020-5-6 14:36
那就设个最佳答案吧~
你是不是可以自己设了{:10_256:} 永恒的蓝色梦想 发表于 2020-5-6 14:41
你是不是可以自己设了
不可以{:10_266:}
页:
[1]