这是我正在使用的代码,
#include <stdio.h>
int main () {
/* variable definition: */
double sidea, sideb, sidec;
/* Prompt user for side a */
printf("Enter length of side a of the triangle: \n"); // Input the base
scanf("%f", &sidea);
/* Prompt user for side b */
printf("Enter the length of side b of the triangle: \n"); // Input the base
scanf("%f", &sideb);
/* Prompt user for side c */
printf("Enter the length of side c of the triangle \n");
scanf("%f", &sidec);
// Calculate the Perimeter
double perimeter= (sidea + sideb + sidec);
// Print the result
printf("The perimeter is : %f \n", perimeter);
return 0;
}
输入数据: 4.6 7.5 5.8
我不能为我的生活找出为什么用于输入的任何值导致0.000000。使用float似乎工作正常。我错过了什么谢谢!
答案 0 :(得分:1)
使用%lf
格式说明符读取double。
另外,您可能会注意到使用错误的格式说明符是UB。(未定义的行为)。