我正在制作一个简单的程序,从输入的ID中获取用户余额。由于某种原因,当输入listof\u ID数组中的ID时,For循环不会执行:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main()
{
    int cntr;
    int ID;

    int listof_ID[] = {001, 002, 003, 004, 005};
    float listof_BAL[] = {338.90, 745.87, 897.32, 665.36, 102.45};

    puts("**Check Your Balance** \n");
    printf("**Please Enter Your ID >> ");
    scanf("%d", &ID);
    for(cntr = 0; cntr > 5; cntr++)
    {
        if(ID == listof_ID[cntr])
        {
            puts("Your balance is ");
            printf("%.2f", listof_BAL[cntr]);
            break;
        }
    }

    return 0;
}

最佳答案

for(cntr = 0; cntr > 5; cntr++)

应该是
for(cntr = 0; cntr < 5; cntr++)

当条件cntr > 5为真时执行循环。如果cntr0开始,那么它显然不大于5,因此循环体永远不会执行。

关于c - 为什么此for循环不执行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11976871/

10-11 21:58