c - 如果其他没有运行

标签 c if-statement

我修复了你们指出的问题(谢谢顺便说一句!),但现在它给了我一个无限循环。 我不明白为什么。每次 while 循环运行时,我的抵押贷款余额都会随着每月还款额而减少...

#include <stdlib.h>


int main(){
    float MortgageLeft, InterestRate, MonthlyPayment, MonIntRate, AmountOwed;
    int Month=0;

    printf("What is the value left on the mortgage?\n");
    scanf("%f", &MortgageLeft);

    printf("What is the annual interest rate of the loan, in percent?\n");
    scanf("%f", &InterestRate);

    printf("What is the monthly payment?\n\n");
    scanf("%f", &MonthlyPayment);

    MonIntRate= (InterestRate/12)/100;

    printf("Month\t\t Payment\t\t Amount Owed");

    while (MortgageLeft>0){
        MortgageLeft=(MortgageLeft*MonIntRate)+MortgageLeft;
        if(MortgageLeft>MonthlyPayment)
        {
            MortgageLeft=MortgageLeft-MonthlyPayment;    
            Month++;
            printf("%d\t\t %.2f\t\t %.2f", Month, MonthlyPayment, MortgageLeft);
        }

}
    return 0;
}

最佳答案

您的 while 循环缺少任何括号,因此它仅执行循环中的下一条语句 AmountOwed=(MortgageLeft*MonIntRate)+MortgageLeft;,该语句永远不会更改循环条件。无限循环意味着您永远不会到达 if/else

关于c - 如果其他没有运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32899687/

相关文章:

c - 通过地址访问结构成员

c - 使用 c 和 tcl,使用 Tcl_GetVar2 从文件获取数据时出错

language-agnostic - "if"语句是否被视为方法?

java - 检查if条件JSP并运行js函数

java - 输入数字进入下一行,但输入非数字时出现异常

c - 用一个寄存器驱动 2 个 7 段显示器

c - 如何在 GTK 中获得锁定的最大化窗口?

c - K&R 示例中的函数返回错误的字符串长度?

javascript - 这里只有三元运算符起作用

Python PRAW 包装器,逻辑问题