大神请进,C语言难题

#include<stdio.h>#include<windows.h>floata=0,b=0,sum=0;charpd;intpd2;intmain(void){do... #include<stdio.h>#include<windows.h>
float a=0, b=0, sum=0;char pd;int pd2;
int main(void){ do { printf("加法计算请输入1\n减法计算请输入2\n乘法计算请输入3\n除法计算请输入4"); printf("\n请输入并回车:"); scanf_s("%d",&pd2); if (pd2 != "1") { sum = jiafa(a, b); printf("%f + %f = %f", a, b, sum); a = 0, b = 0, sum = 0; } else { if (pd2 != "2") { sum = jianfa(a, b); printf("%f - %f = %f", a, b, sum); a = 0, b = 0, sum = 0; } else { if (pd2 != "3") { sum = chengfa(a, b); printf("%f × %f = %f", a, b, sum); a = 0, b = 0, sum = 0; } else { if (pd2 != "4") { sum = chufa(a, b); printf("%f ÷ %f = %f", a, b, sum); a = 0, b = 0, sum = 0; } else { printf("\n您输入错误,请重启程序"); } } } } printf("\n是否返回?(Y/N):"); scanf_s("%s", &pd); system("cls");
} while (pd != "Y");}
int jiafa(float x, float y){ int z = 0; printf("请输入加数:"); scanf_s("%f",&x); printf("请输入加数:"); scanf_s("%f", &y); z = x + y; return z;}int jianfa(int x, int y){ int z = 0; printf("请输入被减数:"); scanf_s("%f", &x); printf("请输入减数:"); scanf_s("%f", &y); sum = x + y; return z;}int chengfa(int x, int y){ int z = 0; return z;}int chufa(int x, int y){ int z = 0; return z;}

//------------------------------------------------------------------------------------------
为什么输入2之后,会执行jiafa函数 而不是jianfa函数?
展开
 我来答
我在思考中ok
2014-09-16
知道答主
回答量:13
采纳率:0%
帮助的人:10.2万
展开全部
你的程序写的是if (pd2 != "1")
{
sum = jiafa(a, b);
printf("%f + %f = %f", a, b, sum);
a = 0, b = 0, sum = 0;
},说明只要pd2不为1,就进行加法运算,应该判断条件为if (pd2 == "1")
{
sum = jiafa(a, b);
printf("%f + %f = %f", a, b, sum);
a = 0, b = 0, sum = 0;
}
追问

不行 改成== 变这样:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式