c语言问题求大神解答。

360U1227000649 |浏览501次
收藏|2019/08/12 09:39

满意回答

2019/08/12 10:04

你的程序中 s是float类型的,对应的输出格式不能用%d,可改为%f,能正确运行的程序如下:#include <stdio.h>void main(){ float s,PI=3.14159; int r=5; s=r*r*PI;printf("s=%f\n",s);}程序的运行结果不再离谱了:

ygl990951

其他回答(6)
  • 你这里输出的结果是什么?
    回答于 2019/08/12 12:42
  • 你的 printf("s=%d\n",s);不正确,用整形输出浮点的值,结果肯定离谱,正确的 printf("s=%f\n",s);
    回答于 2019/08/12 12:14
  • 这个结果是1
    回答于 2019/08/12 11:58
  • 修改:#include <stdio.h>void main(){ float s,PI=3.14159; int r=5; s=r*r*PI; printf("s=%f\n",s);}原因:s定义的是float单精度浮点类型,输出却是int整型变量,所以出错
    回答于 2019/08/12 11:29
  • printf("s=%d\n",s);这一句改成 printf("s=%f\n",s);应该就没有问题了。
    回答于 2019/08/12 11:00
  • s是float类型变量,应该用%f格式,即printf("s=%f\n");
    回答于 2019/08/12 10:35
0人关注该问题
+1

 加载中...