黑马程序员技术交流社区

标题: 程序不能正常的运行,求解!!! [打印本页]

作者: 目前是菜鸟    时间: 2016-10-31 11:47
标题: 程序不能正常的运行,求解!!!
    int peopleNum = 0;
    printf("输入班级总人数:");
    scanf("%d",&peopleNum);
    printf("%d\n",peopleNum);
    int sum = 0;
    //定义分数数组
    int scoles[] = {0};
    //循环接收每个同学的成绩
    for (int i = 0; i < peopleNum; i++) {
        int scole = 0;
        printf("输入第%d个同学的成绩:",i+1);
        scanf("%d",&scole);
        scoles = scole;
        sum += scoles;
    }

上面程序不能正常运行,当i = 2时,会将scole的值赋给peopleNum,这是为什么????


作者: 目前是菜鸟    时间: 2016-10-31 11:49
自己顶下,求解
作者: peng84    时间: 2016-10-31 12:50
scoles数组定义为空,再说也不用定义成数组啊

作者: 目前是菜鸟    时间: 2016-11-1 21:53
peng84 发表于 2016-10-31 12:50
scoles数组定义为空,再说也不用定义成数组啊

数组初始化值都是为0的,没有空的呀
作者: 目前是菜鸟    时间: 2016-11-1 21:54
peng84 发表于 2016-10-31 12:50
scoles数组定义为空,再说也不用定义成数组啊

数组初始化值都是为0的,没有空的呀
作者: yeshusheng    时间: 2016-11-1 22:33
这是C语言把
作者: cobblerime    时间: 2016-11-1 22:42
int scoles[] = {0}; JAVA中这样定义数组,数组又有一个元素了。一般通过角标来赋值给数组元素如scoles[角标]。
楼主发的应该是C++的吧。 JAVA没有这样输出的。printf("%d\n",peopleNum);
作者: 目前是菜鸟    时间: 2016-11-1 22:56

恩,是c
作者: 目前是菜鸟    时间: 2016-11-1 23:02
cobblerime 发表于 2016-11-1 22:42
int scoles[] = {0}; JAVA中这样定义数组,数组又有一个元素了。一般通过角标来赋值给数组元素如scoles[角 ...

我应该做个标注,是c
那样定义数组也是可以的呀,相当于定义一个没有数组的长度的值均为0的数组
你说的数组名[数组长度],这个我知道,我就想知道用我那种为什么程序会出错

作者: 黑马初学者    时间: 2016-11-1 23:19
柑橘很厉害的样子,虽然不懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2