我的一项任务有问题。我创建了一个函数名chequingsaving
,当我调用这个函数时,它打印一些正确的数据,但是当我输入字符取决于我选择的帐户时,它直接退出循环。如果我输入了正确的字符值,那么同样的事情就会发生。该功能代码如下。帮我弄清楚我的错误。问题是我也使用了一个开关盒,但它仍然直接进入默认状态。 if / else循环也会发生同样的事情。
void chequingsaving() /*Chequing and saving account function*/
{
char a;
double r, Initialamount = 0;
printf(" c) Chequing\n");
printf(" s) Savings\n");
printf("Which account would you like to use?\n");
scanf("% c", &a);
if (a == 'c' || a == 'C')
{
printf("Please enter the amount for deposit\n");
scanf("% lf", &r);
Initialamount = Initialamount + r;
printf("Your chequing account balance is=%lf", Initialamount);
}
else
if (a == 's' || a == 'S')
{
printf("Please enter the amount for deposit\n");
scanf("%lf", &r);
Initialamount = Initialamount + r;
printf("Your chequing account balance is=%lf", Initialamount);
}
else
printf("Invalid character\n");
}
答案 0 :(得分:1)
删除scanf
中的空格:
scanf("%c", &a);
以及以下scanf
:
scanf("%lf", &r);
答案 1 :(得分:0)
你的scanf不正确,你有空间"%c"。