我有下面的测试代码,我的程序将允许输入一个float数字。有一个条件检查浮点值是否小于或等于1但大于0。然后,变量b和c将以一种方式定义。如果输入是 > 1,b并且c将以另一种方式定义。但是,使用下面的代码,程序总是告诉我 myb和c未使用。但我已经在printf. 我不知道错误是什么。谁能解释一下背后的原理?
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char* argv[])
{
float ratio = atof(argv[1]);
if (argc != 2)
{
return 1;
}
if (ratio > 0.0 && ratio <= 1.0)
{
float b = 3/4;
float c = 4/5;
}
else if (ratio > 1.0)
{
float b = 1;
float c = 2;
}
printf("b and c are %f, %f", b, c);
}