求教一个判断语句问题
我写了一个二元计算器,运算加减乘除。遇到一个问题
我用判断输入1234来选择要进行的运算,为什么无论输入什么,最后都会自动执行除法运算?
- C/C++ code
/*************************************一次性计算器******************** *******************************/#include<stdio.h>int main(void){ int shu1,shu2,jieguo; int bianhao; float shang; printf("请输入你要进行的运算法则的编号\n1加法\n2减法\n3乘法\n4除法\n然后回车键确认:\n"); scanf("%d",&bianhao); if(bianhao==1) { printf("选择了二元加法计算\n请输入第一个加数,回车键确认:\n"); scanf("%d",&shu1); printf("请输入第二个加数,回车键确认:\n"); scanf("%d",&shu2); printf("%d和%d相加结果是%d",shu1,shu2,shu1+shu2); } if(bianhao==2) { printf("选择了二元减法计算\n请输入被减数,回车键确认:\n"); scanf("%d",&shu1); printf("请输入减数,回车键确认:\n"); scanf("%d",&shu2); printf("%d减去%d的结果是%d",shu1,shu2,shu1-shu2); } if(bianhao==3) { printf("选择了二元乘法计算\n请输入第一个乘数,回车键确认:\n"); scanf("%d",&shu1); printf("请输入第二个乘数,回车键确认:\n"); scanf("%d",&shu2); printf("%d和%d相乘的结果是%d",shu1,shu2,shu1*shu2); } if(bianhao=4) { printf("选择了二元除法计算\n请输入被除数,回车键确认:\n"); scanf("%d",&shu1); printf("请输入除数,回车键确认:\n"); scanf("%d",&shu2); shang=(float)shu1/shu2; printf("%d和%d相除的结果是%f",shu1,shu2,shang); } fflush(stdin); getchar(); }[解决办法]
if(bianhao=4) -> if( 4==bianhao )
[解决办法]
- C/C++ code
if (bianhao==1){}else if (bianhao==2){}else if (bianhao==3){}else if (bianhao==4){}
[解决办法]
[解决办法]
条件判断出错,赋值都为真 if(bianhao=4)
这种建议用switch进行操作