主题:[讨论]请教数组使用前先初始化的问题
这段代码看的不是很清楚,请大家帮我看一下
#include <stdio.h>
#include <stdlib.h>
#define N 20
int a[N];//这里为什么没有初始化?
void gen_random(int upper_bound)
{
int i;
for (i = 0; i < N; i++)
a[i] = rand() % upper_bound;
}
void print_random()
{
int i;
for (i = 0; i < N; i++)
printf("%d ", a[i]);
printf("\n");
}
int main(void)
{
gen_random(10);
print_random();
return 0;
}
下面还有一个小的程序
#include <stdio.h>
#define N 20
int a[N];
void print_array()
{
for(int i=0;i<N;i++)
printf("%d,",a[i]);
}
int main(void)
{
a[N]={0};
print_array();
return 0;
}
这个程序为什么错了, 对初始化这一块理解的还不是很透彻,希望高手给指点一下
#include <stdio.h>
#include <stdlib.h>
#define N 20
int a[N];//这里为什么没有初始化?
void gen_random(int upper_bound)
{
int i;
for (i = 0; i < N; i++)
a[i] = rand() % upper_bound;
}
void print_random()
{
int i;
for (i = 0; i < N; i++)
printf("%d ", a[i]);
printf("\n");
}
int main(void)
{
gen_random(10);
print_random();
return 0;
}
下面还有一个小的程序
#include <stdio.h>
#define N 20
int a[N];
void print_array()
{
for(int i=0;i<N;i++)
printf("%d,",a[i]);
}
int main(void)
{
a[N]={0};
print_array();
return 0;
}
这个程序为什么错了, 对初始化这一块理解的还不是很透彻,希望高手给指点一下