为何选择B会成A,语法错了?

#include<stdio.h>
int main()
{
int A=12;
int B=18;
int C=16;
int D=7;
int E=14;
double age=5000.00;

printf("\t\t\t请挑选商品:\n1.黑糖珍珠奶茶:12元→A\n2.芝士奶盖绿茶:18元 → B\n3.杨枝甘露大杯:16元 → C\n4.森林玫果中杯:7元 → D\n5.草莓瑶瑶奶昔:14元 → E\n请选以上商品↑(按下对应按钮):\n");
scanf("%d%d%d%d%d",&A,&B,&C,&D,&E);
 if (A)
{
    printf("你选择的→黑糖珍珠奶茶");
    printf("以从你的账户:-12元");
}
else if (B)
{
    printf("你选择的→芝士奶盖绿茶");
    printf("已从你的账户:-18元");
}
else if (C)
{
    printf("你选择的→杨枝甘露大杯");
    printf("已从你的账户:-16元");
}
else if (D)
{
    printf("你选择的→森林玫果中杯");
    printf("已从你的账户:-7元");
}
else if (E)
{
    printf("你选择的→草莓瑶瑶奶昔");
    printf("已从你的账户:-14元");
}

}

img

if (A)错了,这个if语句只要A不等于0就成立了。

#include<stdio.h>
int main()
{
char ch;
printf("\t\t\t请挑选商品:\n1.黑糖珍珠奶茶:12元→A\n2.芝士奶盖绿茶:18元 → B\n3.杨枝甘露大杯:16元 → C\n4.森林玫果中杯:7元 → D\n5.草莓瑶瑶奶昔:14元 → E\n请选以上商品↑(按下对应按钮):\n");
scanf("%c",&ch);
switch(ch)
{
 case 'A':
{
    printf("你选择的→黑糖珍珠奶茶");
    printf("以从你的账户:-12元");
    break;
}
case 'B':
{
    printf("你选择的→芝士奶盖绿茶");
    printf("已从你的账户:-18元");
    break;
}
case 'C':
{
    printf("你选择的→杨枝甘露大杯");
    printf("已从你的账户:-16元");
    break;
}
case 'D':
{
    printf("你选择的→森林玫果中杯");
    printf("已从你的账户:-7元");
    break;
}
case 'E':
{
    printf("你选择的→草莓瑶瑶奶昔");
    printf("已从你的账户:-14元");
    break;
}
}