If statement switch-case循环语句

If statement switch-case循环语句,if-statement,switch-statement,If Statement,Switch Statement,我的一项作业有问题。我创建了一个函数名chequingsaving,当我调用这个函数时,它会打印一些正确的数据,但当我输入字符时,它会直接退出循环。如果我输入了正确的字符值,那么同样的事情也会发生。该功能代码如下所示。帮我找出我的错误。问题是我也使用了一个开关盒,但它仍然直接进入默认状态。同样的事情也发生在if/else循环中 void chequingsaving() /*Chequing and saving account function*/ { char a; dou

我的一项作业有问题。我创建了一个函数名
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");

} 

删除
scanf
中的空格:

scanf("%c", &a);
scanf("%lf", &r);
以及以下
scanf

scanf("%c", &a);
scanf("%lf", &r);

您的scanf不正确,您有空格“%c”。

当a输入if/else语句时,您是否调试了a的值?