0

入力されたIDからユーザーの残高を取得する簡単なプログラムを作成しています。何らかの理由で、listof_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;
}
4

2 に答える 2

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

する必要があります

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

cntr > 5条件が真の間、ループが実行されます。if cntrstarts at 0then 明らかに 5 より大きくないため、ループの本体は実行されません。

于 2012-08-15T20:37:26.120 に答える
0

for ループでは、cntr = 0 の最初の値です。これは、cntr < 5 であることを意味します。したがって、ループは開始されません。

于 2012-08-15T20:42:08.257 に答える