int main()
{
int a;
float b;
OUT:
printf("Enter the unit of Weight([1]-lbs, [2]-kg):");
int K=scanf("%d",&a);
if (K==1)
{
if(a==1){
printf("Enter the Target Weight in lbs:");
scanf("%f",&b);
}
else if (a==2)
{
printf("Enter the Target Weight in kg:");
scanf("%f",&b);
}
}
else{
printf("Invalid Number!\n");
goto OUT;
}
输入a会一直这样运行
输入1.2会先判断不行,然后按1来继续运行后续代码
但是我觉得我的代码没有逻辑问题 能不能帮忙改正一下
你这个代码逻辑有问题阿 在if判断里面 ,然后你可以使用单步运行调试看看
int main()
{
int a;
float b;
OUT:
printf("Enter the unit of Weight([1]-lbs, [2]-kg):");
int K=scanf("%d",&a);
if (K==1)
{
if(a==1){
printf("Enter the Target Weight in lbs:");
scanf("%f",&b);
}
else if (a==2)
{
printf("Enter the Target Weight in kg:");
scanf("%f",&b);
}
else{
printf("Invalid Number!\n");
}
goto OUT;
}