#include<stdio.h>
int main()
{
int i,a[3],s=0,m;
for(i=0;i<3;i++)
{scanf("%d",&a[i]);
m=0;if(a[i]>a[m])m=i;
}printf("%d %d",a[m],m);
return 0;
}
为什么可以不初始化,让a[3]={0}.什么情况下数组可以不初始化?有些情况下必须要初始化呢?
#include<stdio.h>
int main()
{
int i,a[3],s=0,m;
for(i=0;i<3;i++)
{scanf("%d",&a[i]);
m=0;if(a[i]>a[m])m=i;
}printf("%d %d",a[m],m);
return 0;
}
为什么可以不初始化,让a[3]={0}.什么情况下数组可以不初始化?有些情况下必须要初始化呢?
在 C 语言中,数组并不一定要在声明时就初始化。在这个程序中,你可以声明数组 a 如下:
int a[3];
这样 a 就没有被初始化,它的值是未定义的。你可以通过手动输入每个元素的值来赋值,也可以通过程序来修改每个元素的值。
总之,在 C 语言中,数组并不一定要在声明时就初始化,但是在某些情况下,初始化可以让程序更易于阅读和理解,并且在某些情况下,初始化是必须的。