计算圆的面积和周长输入半径1.5,为什么Scanf函数中写成%.2f就运行结果为0

以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
在 C 语言中,scanf 函数用于从标准输入读取数据并存储到变量中。关于您遇到的问题,scanf("%.2f",&r); 中的 %.2f 不是用来读取数据的格式说明符,而是用于 printf 函数中,表示输出浮点数时保留两位小数。在 scanf 中使用 %.2f 是不正确的。
对于 scanf,应该直接使用 %f 来读取浮点数。所以,应该写成 scanf("%f",&r);。
至于您提到的输入半径为 1.5 但结果为 0 的问题,这可能是由于其他原因造成的。例如,输入数据时可能包含了不可见的特殊字符,或者输入流中存在其他问题。请确保在调用 scanf 之前输入的数据格式正确,并且没有其他隐藏字符。
另外,您的代码中存在一些格式和拼写错误,例如 "日{" 应该为 "{",还有代码中的注释和其他部分需要整理。以下是修正后的代码示例:
#include <stdio.h>
int main() {
float r, s, c; // 声明半径 r,面积 s 和周长 c
printf("请输入圆的半径:"); // 提示用户输入半径
scanf("%f", &r); // 读取用户输入的半径值
s = 3.14 * r * r; // 计算面积
c = 2 * 3.14 * r; // 计算周长
printf("圆的面积为:%.2f,周长为:%.2f", s, c); // 输出结果,保留两位小数
return 0;
}
确保在运行程序之前已经正确地输入了半径值(例如,通过控制台输入 1.5),然后程序应该能够正确地计算并输出圆的面积和周长。