我正在制作一个简单的程序,可以从输入的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;
}
答案 0 :(得分:7)
for(cntr = 0; cntr > 5; cntr++)
应该是
for(cntr = 0; cntr < 5; cntr++)
当条件cntr > 5
为真时循环执行。如果cntr
从0
开始,那么它显然不会大于5,因此循环体不会执行。
答案 1 :(得分:0)
在你的for循环中,cntr = 0的第一个值,这意味着cntr&lt;但是在这种情况下,你正在检查cntr&gt; 5,这不是真的。所以,循环不会启动。