hswangrui 发表于 2017-1-1 18:55:06

关于数组的问题

我是新手小白...请多关照
我用数组写了个简单的可以手动调整成绩数量并计算平均成绩的程序 ,下面是没有问题,可以正常运行
#include <stdio.h>
int main()
{
        int i,a,sum=0;
        printf("请输入成绩数量: ");
        scanf("%d",&a);
        int b;
        for (i=0;i<a;i++)
        {
                printf("请输入第%d位成绩: ",i+1);
                scanf("%d",&b);
                sum+=b;
                }       
printf("输入完毕!平均分为: %.2f",(float)sum/a);
               
return 0;
       
}


我最原先是把int b;和int i,a,sum=0;写在一起的 运行会提示数组不能出现int
但我移到下面就好了...这是为什么

另外有什么更好的用数组实现方式? 有没有办法可以实现定义数组元素为变量的方法   

auyhin丶 发表于 2017-1-1 23:42:54

int a,b; 应该肯定是不允许的   你用单步调试查看一下一开始定义a的时候的值就知道了。
好像也不能分配常量大小为0的数组。

lzgw 发表于 2017-1-2 08:55:25

int b,a必须是已经赋值的才行,否则系统不知道你这个数组的长度,这是数组的规定吧好像

zealstar 发表于 2017-1-2 10:18:42

在C语言的标准ANSI中,数组定义: int b这里的x必须是常量。
而在C99标准中,提供了新的定义方式,即可以使用变量来替代x,但是是有条件的!这个变量必须先被赋值。
所以,如果使用:
int a, b;
或者
int a;
int b;
都是不合法的,编译器不予承认。
页: [1]
查看完整版本: 关于数组的问题