请帮我看一下这段C程序

来源:百度知道 编辑:UC知道 时间:2024/05/11 18:52:52
#include <stdio.h>
#define PI 3.1415926
void main()
{
float l,s,r,v;
printf("input radius:");
scanf("%f",&r);
l=2.0*PI*r;
s=PI*r*r;
v=4.0/3*PI*r*r*r;
printf("l=%10.4f\ns=%10.4f\nv=%10.4f\n,l,s,v");
}
最后一句为什么用""全括起来输出结果是
l=215280288658.1238
s=19853032……
v=-4.213345……
,l,s,v

printf("l=%10.4f\ns=%10.4f\nv=%10.4f\n,l,s,v");
==>>
printf("l=%10.4f\ns=%10.4f\nv=%10.4f\n",l,s,v);
3个%获取到了随机值,因为你没指定输出的值.

在c 语言中,printf("格式",变量);
引号内的找原样输出,因此输出的结果就是你所看到的。
你未设置变量,而在格式中却要输出变量值,所以系统就取了随机值,是看起来很奇怪的数字。

在c 语言中,printf("格式",变量); 而你的输出语句是
printf("l=%10.4f\ns=%10.4f\nv=%10.4f\n,l,s,v");
系统会自动给l,s,v获取三个随机值,而,l,s,v系统认为是一字符串,就照样输出了。改为
printf("l=%10.4f\ns=%10.4f\nv=%10.4f\n",l,s,v);就是你预想的结果了

都是高手啊

学习了一下,虽然很简单的问题,不过还确实有点糊涂这东西.