【发布时间】:2022-01-08 08:31:24
【问题描述】:
所以,我是一个初学者,我正在学习结构,所以我决定尝试制作一个程序,它采用米和厘米为单位的 2 个距离的长度,但它跳过了获取米值的输入第二距离。我使用的代码是:
#include<stdio.h>
struct distance{
int meter;
float centimeter;
}l1,l2,sum;
int main()
{
printf("Distance 1 : \n");
printf("Enter the meter value :");
scanf("%d",&l1.meter);
printf("Enter the centimeter value :");
scanf("%.2f",&l1.centimeter);
printf("Distance 2 : \n");
printf("Enter the meter value : \n");
scanf("%d",&l2.meter);
printf("Enter the centimeter value :");
scanf("%.2f",&l2.centimeter);
sum.meter = l1.meter + l2.meter;
sum.centimeter = l1.centimeter + l2.centimeter;
while(sum.centimeter >= 100)
{
++sum.meter;
sum.centimeter-=100;
}
printf("The sum of the distances you have entered is %d m and %f cm.",sum.meter,sum.centimeter);
return 0;
}
我做错了什么?
【问题讨论】:
-
您没有阅读编译器警告。
%.2f不是scanf的有效格式,请使用%f。 -
谢谢!我没有看到任何编译器警告,可能是因为我的 IDE?无论如何,非常感谢!