You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言圆面积计算程序输出异常值,请求排查问题原因

问题排查与修复

嘿,我一眼就揪出问题啦!你的程序算出奇怪结果,根源是格式符和变量类型不匹配——这可是C语言新手常踩的坑。

核心错误分析

你定义的radius是float类型,但在scanf里误用了整数格式符%d:

scanf("%d", &radius);

%d是用来读取整数的,而float类型需要用%f来读取。这种不匹配会导致内存里的数据被错误解析,直接让后续的面积计算完全乱套。

修复后的完整代码

把scanf的格式符改成%f就能解决问题:

#include<stdio.h>
int main() {
 float radius, area;
 printf("\nEnter the radius of Circle : ");
 scanf("%f", &radius);  // 这里把%d替换成%f
 area = 3.14 * radius * radius;
 printf("\nArea of Circle : %f", area);
 return (0);
}

额外小提醒

如果之后你想用精度更高的double类型存储数据,记得把读取格式符换成%lf,输出时用%lf或%f都可以。始终保持变量类型和格式符对应,就能避开这类莫名其妙的bug啦!

内容的提问来源于stack exchange,提问作者john mark lumapac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 15:02:38