问答详情
源自:4-2 内存管理

我想做一个我写入数据,系统自动生成数组的程序


http://img4.mukewang.com/5bbc5bc70001ca4103600640.jpg
我这个运行出错

http://img.mukewang.com/5bbc5bf50001a00e03600640.jpg
求大神告诉

提问者:慕婉清1235361 2018-10-09 15:43

个回答

  • buernotwo丶阿坤
    2018-10-31 00:08:47

    https://img2.mukewang.com/5bd881b400013b3607080432.jpg

    结果:

    https://img4.mukewang.com/5bd881b300017c2303440176.jpg

  • buernotwo丶阿坤
    2018-10-31 00:04:38

    因为你的i是个全局变量,所以在你输入0打算结束时,刚好i++了,此时的i已经跳出数组范围了。你的初始化也可以规范一点int arr[100] = {0}。

    #include <stdio.h>int main(){    int arr[100]={0};    int i = 0;    for(;i>=0&&arr[i-1]!=0;i++)    {        scanf("%d",&arr[i]);    }    i--;    for(int j=0;j<i;j++)        printf("%d\n", arr[j]);    return 0;}


  • 慕婉清1235361
    2018-10-09 15:44:10

    类似于成绩的输入部分