这个题目我是这样编程的,但是结果就是不对,当a=1,n=3时结果应该是123的,可是输出的结果是122;当a=1,n=4时结果应为1234,实际输出为1232.调试了一下,i1=3时sum出错了,应该是111的,结果却是110,n=4时sum=1110,导致后面结果不对 但是想知道程序哪里错了会出现这样的情况,应该怎么修改?
把 sum 和 SUM 定义为 double;
看下面的代码:
#include <stdio.h>运行:
想知道为什么,但是在这说起来比较麻烦 —— 可以自己查资料了解 int、long、float 和 double 在内存中究竟是如何表示的(为什么表达式中 (int)pow(10, 2) 的到的值会是 99)。
建议就是如果一个运算的表达式中有整数也有浮点数,那么返回的结果保存在浮点数中。
追问换成double后无论怎样结果都是0
是我的codeblock有问题吗 我同学和我打一样的代码她是正确结果
换成 double 后注意输出使用 %lf,不要再用 %d,既然你知道结果是整数那就用 %.0lf(即不保留小数位)
追问是的是的是这样的 谢谢啊