gpt4 book ai didi

c - 为什么我的 C 程序跳过 if 语句?

转载 作者:行者123 更新时间:2023-11-30 21:16:47 25 4
gpt4 key购买 nike

我是一名新编码员,不知道自己在做什么,请帮忙!

代码正在正常读取和获取输入,直到到达 scanf("%c", &i);然后它跳到 Amount 打印,似乎忽略了我的 if 语句。我使用 scanF 有什么问题吗?

这是代码:

#include <stdio.h>
int main(){
printf("BANK ACCOUNT PROGRAM!\n--------------------\n");
char W,F,A,i,D;
int t=1;
double b,d;

while (t=1){
printf("Enter the old balance:\n");
scanf(" %lf", &b);
printf(" %lf", b);
if(b>=0)
{
printf("Enter the transactions now!\n Enter an F for the transaction type when you are finished.\n");

printf("Transaction Type (D=deposit, W=withdrawal, F=finished):\n");
scanf(" %c", &i);
if(i=F){
printf("Your ending balance is");
printf(" %lf", b);
printf("\n Program is ending!");

return 0;
}
if(i=W){
printf("Amount:");
scanf(" %f", &d);
b= b-d;
printf(" %f",b);}
}
if(b<0);
{
printf("The balance must be maintained above zero!\n");

}


}
return 0;
}

最佳答案

因为你的比较是错误的

if(i=F){  // this is assignment, not comparison

应该是

if(i=='F'){  // note also it's comparison to character 'F'

关于c - 为什么我的 C 程序跳过 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59807290/

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