c语言问题求大神解答。

用户提问 |浏览547次
收藏|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);}程序的运行结果不再离谱了:
匿名

其他回答(6)
  • 匀金长弓
    其他
    你这里输出的结果是什么?
    回答于 2019/08/12 12:42
  • whoami1978
    其他
    你的 printf("s=%d\n",s);不正确,用整形输出浮点的值,结果肯定离谱,正确的 printf("s=%f\n",s);
    回答于 2019/08/12 12:14
  • tantang668
    其他
    这个结果是1
    回答于 2019/08/12 11:58
  • 卡尔维诺VX
    其他
    修改:#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
  • gexingqianming
    其他
    s是float类型变量,应该用%f格式,即printf("s=%f\n");
    回答于 2019/08/12 10:35
0人关注该问题
+1

 加载中...