黑眼睛 发表于 2020-10-5 14:05:53

请问大家,这里怎么就会出错了呢。为什么呀?










zxcbcv 发表于 2020-10-5 15:08:24

本帖最后由 zxcbcv 于 2020-10-5 15:11 编辑

初始化 x=0 h=0
for循环里 当x<h时 i++ 执行循环,判断条件不符直接输出了,此时i=1 x=0,h=0










风过无痕1989 发表于 2020-10-5 22:32:16

本帖最后由 风过无痕1989 于 2020-10-5 22:35 编辑

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
    int i = 1;                                              // 变量 year 定义之后没有被使用,故而略去
//double q=0.05;
    float x = 0,h = 0,k = 10000;
        for(i = 1;x < h;i++)                              // x = 0 && h = 0, 条件不符合,循环不能进行,因此下面花括号里根本就不会执行
      {
                x = k + i * (0.1 * k);                      // warning: 从 double 型转为 float 型,数据会损失
                h = k + (0.05 * k + k) * pow(0.05,i - 1);   // warning: 从 double 型转为 float 型,数据会损失
      }
                printf("%d年后,黑夜的投资额超过小甲鱼!\n",i);
                printf("小甲鱼的投资额是:%f\n",x);
                printf("黑夜的投资额是:%f\n",h);
                system("pause");
                return 0;
}
页: [1]
查看完整版本: 请问大家,这里怎么就会出错了呢。为什么呀?