liyiqi 发表于 2020-5-24 10:52:48

为什么输入7结果正常,而输入8退出。求原因。

#include<iostream>

int main()
{
        int n,i,j,count=0;
        int a;
       
       
        printf("请输入");
        scanf("%d",&n);
       
        for(i=0;i<n;i++){
                a=i+1;
       
        }
        i=0;
       
        do{
                for(j=0;j<n;j++){
                        if(a!=0){
                                count=count+1;
                       
                        }
                        if(count==7){
                                printf("out: %d%d ",j+1,count);
                                a=0;
                                count=0;
                                i=i+1;
                        }
                }
                printf("i= %d",i);
        }while(i!=n);
        return 0;
}

qiuyouzhi 发表于 2020-5-24 10:54:58

你那个n还没有定义,就让数组a的长度为n?

liuzhengyuan 发表于 2020-5-24 10:57:03

把 int a 放到输入的后面

青出于蓝 发表于 2020-5-24 10:57:12

没有n这个变量

xiaosi4081 发表于 2020-5-24 10:59:47

领“域”币

焦健鬼 发表于 2020-5-24 11:03:07

哈哈哈

qiuyouzhi 发表于 2020-5-24 11:03:23

#include<iostream>

int main()
{
      int n,i,j,count=0;
      
      
      printf("请输入");
      scanf("%d",&n);
      int a;
      
      for(i=0;i<n;i++){
                a=i+1;
      
      }
      i=0;
      
      do{
                for(j=0;j<n;j++){
                        if(a!=0){
                              count=count+1;
                     
                        }
                        if(count==7){
                              printf("out: %d%d ",j+1,count);
                              a=0;
                              count=0;
                              i=i+1;
                        }
                }
                printf("i= %d",i);
      }while(i!=n);
      return 0;
}

焦健鬼 发表于 2020-5-24 11:04:18

我又来了

liyiqi 发表于 2020-5-24 11:05:09

xiaosi4081 发表于 2020-5-24 10:59
领“域”币

大哥我求原因,你在这水

我想当咸鱼 发表于 2020-5-24 11:14:00

我觉得你应该输入n的值后再去定义数组a

xiaosi4081 发表于 2020-5-24 11:35:42

liyiqi 发表于 2020-5-24 11:05
大哥我求原因,你在这水

1.int a这个的n你都还没输入,所以就相当于int a[],所以要把int a[]放在这个:
scanf("%d",&n);
后面
代码:
#include<iostream>

int main()
{
      int n,i,j,count=0;
      
      
      printf("请输入");
      scanf("%d",&n);
      int a;
      
      for(i=0;i<n;i++){
                a=i+1;
      
      }
      i=0;
      
      do{
                for(j=0;j<n;j++){
                        if(a!=0){
                              count=count+1;
                     
                        }
                        if(count==7){
                              printf("out: %d%d ",j+1,count);
                              a=0;
                              count=0;
                              i=i+1;
                        }
                }
                printf("i= %d",i);
      }while(i!=n);
      return 0;
}

Pythonnewers 发表于 2020-5-24 11:49:52

是的,楼上说的对,.建议多检查,bug不可避免

SYSTEM0 发表于 2020-5-24 12:34:42

liuzhengyuan 发表于 2020-5-24 10:57
把 int a 放到输入的后面

SYSTEM0 发表于 2020-5-24 12:35:17

焦健鬼 发表于 2020-5-24 11:03
哈哈哈

焦健鬼 发表于 2020-5-24 12:37:09

SYSTEM0 发表于 2020-5-24 12:35


没了
页: [1]
查看完整版本: 为什么输入7结果正常,而输入8退出。求原因。