gpt4 book ai didi

C程序无法显示输出

转载 作者:行者123 更新时间:2023-11-30 20:50:44 25 4
gpt4 key购买 nike

我的 C 程序不显示输出。

我的C语言代码:

int x = 0; // Installment
int y = 0 // Balance

for (i=1; i<=installment;i++)
{
printf("%d %d %d\n", i, x=totalFee/installment, y = totalFee-(totalFee/instalment));
}

正确输出:

Total fees: 300Month  Installment  Balance  1      100          200  2      100          100  3      100            0

我的输出:

Total fees: 300Month  Installment  Balance  1      100          200  2      100          200  3      100          200

这只是代码的一部分。因为这是我遇到问题的部分。其他部分都很好。

最佳答案

试试这个:

for (i=1; i<=installment;i++)
{
x = totalFee/installment;
y = totalFee-x;
printf("%d %d %d\n", i, x, y);
}

在 C/C++ 中,编译器决定调用函数时计算参数的顺序。绝对不能保证顺序是从第一个参数到最后一个参数。因此很可能它在 x = TotalFee/installment 之前评估了 totalFee-x,这不是您所期望的。

参见Compilers and argument order of evaluation in C++Order of evaluation in C++ function parameters甚至function parameter evaluation order 。特别检查this answer .

现在您更新了您的帖子,并将 y =totalFee-x 替换为 y=totalFee-(totalFee/instalment)。最后一个应该可以工作,因为 y 赋值不依赖于 x。如果它对您不起作用,那只是您的操作方式错误。使用调试器查看发生了什么。

关于C程序无法显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40459965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com