一只小临临 2024-09-16 19:54 采纳率: 0%
浏览 10
已结题

为什么变量数据莫名其妙的变了?

x=3,y=3,n=1,sum应该=3*3=9,为什么进入循环后就变成1了?

    sum=x*y;
    for(int i=1,m=n;i<=y;i++)
        for(int j=1,h=rand()%10;j<=x;j++,sum--,h=rand()%10)
            if(((h==0&&i!=sx&&j!=zy)||(sum=m))&&m>=0)
                a[1][i][j]='*',m--;

img

  • 写回答

1条回答 默认 最新

  • threenewbee 2024-09-16 23:27
    关注

    下标越界了,数组下标从0开始而不是从1开始。到n-1结束而不是n
    越界就会侵犯别的存储单元。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月17日
  • 创建了问题 9月16日