数组(类型名,数组名[数组长度(常量表达式)]): int a[10]={1,2,3,4,5,6,7,8,9,10}(类型名,数组名[数组长度(常量表达式)]={初值表})也可以没有十个数,叫不完全初始化,剩余的值默认为0
静态数组也可以初始化,静态存储的数组如果没有初始化的话,系统将自动给所有的数组元素赋值0.
static int b[5]={1,2,3,4}
数组初始化的时候,如果对全部元素都赋了初值,就可以省略数组长度int a[]={1,2,3,4,5,6,7,8,9,10}
对应数组下标[0]-[9],数组以下标反问,a[0](引用:数组名+[下标])访问的是1(第一个元素),一定一定不要让下标越界,不然程序会死,因为会把数据写到别的变量的存储单元.
#include<stdio.h>
int main(void) {
int i, n;
double sum, average;
int a[10];//定义一个数组,它最多有十个整形数据
printf("Enter n:");
scanf_s("%d", &n);
if (n >= 1 && n <= 10) {
printf("输入%d个数:", n);//将输入的数据依次赋值给数组a的前n个数据a[0]-a[n-1]
for (i = 0; i < n; i++) {
scanf_s("%d", &a[i]);
}
sum = 0;
for (i = 0; i < n; i++); {
sum =sum+ a[i];
}
average = sum / n;
printf("average=%.2f\n", average);
printf(">average:");
for (i = 0; i < n; i++)
{
if (a[i] > average)
{
printf("%d", a[i]);
}
printf("\n");
}
}
else {
printf("Invalid Value.\n");
}
return 0;
}
这个程序在计算平均数的时候存在一个语法错误。在C语言中,分号;
表示语句的结束。你在for循环的后面加了一个分号,导致for循环的代码块结束,而后面的代码并不属于for循环。因此,只有sum的累加操作被执行,而没有执行将结果除以n的操作。因此编写程序的时候细心一点.