12.5C语言 数组 for循环的后面加一个分号,会导致for循环的代码块结束,而后面的代码并不属于for循环。

数组(类型名,数组名[数组长度(常量表达式)]): 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的操作。因此编写程序的时候细心一点.

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值