C While循环无法正确退出

时间:2019-03-15 08:58:53

标签: c

我必须上一门大学的C语言课程,并且我会用while循环读取一些整数。代码是:

pool = fabric.group.SerialGroup("pi@192.168.3.151", "pi@192.168.3.123", 
                                  port=22, connect_kwargs={"password": "Raspberry"})

它可以编译(使用gcc编译器),但是当我进入循环时,它会正确读取数字,但是在最后一次输入之后,不再执行任何操作。

3 个答案:

答案 0 :(得分:3)

初始化i

int i = 0;
int n;

[编辑:我现在看到您已经按照我的建议编辑了代码]

答案 1 :(得分:0)

初始化i = 0

这是工作代码。

#define max 5 
int main()
{
    int a[max];
    int i = 0,n;

    printf("Enter the number of persons:\n");
    do{
        scanf("%d", &n);
    }while((n < 1) || (n > max));

    while (i < n){
        printf("Enter the age of the %i th Person:\n", i+1);
        scanf("%i", &a[i]);
        i = i + 1;
    }

    return 0;
}

答案 2 :(得分:-1)

我首先有一个垃圾值,首先应该写

i=0 
并且比
 scanf("%d", &n);
还要多,因为您在开头调用的垃圾值为i的while循环,并且如果belove统计信息满足
 while((n < 1) || (n > max))
但i没有值,则代码将执行,因此请勿递增它。想想总数,我确定你知道我的意思。如果要增加某些内容,则应首先定义。我定义的没有值的整数不能递增。在最后一个循环中使用for循环,而不是在

时使用