C语言,怎么让if语句运行完就不要继续运行呢

#include "stdafx.h"

int main(int argc, char* argv[])
{
float x,y;
char a;
scanf("%f %c %f",&x,&a,&y);
if(a='+')
{
float jiafa(float x,float y);
float result=jiafa(x,y);
printf("result=%f\n",result);
}
if(a='-')
{
float jianfa(float x,float y);
float result=jianfa(x,y);
printf("result=%f\n",result);
}
fflush(stdin);
getchar();
return 1;
}

float jiafa(float x,float y)
{
float result1;
result1=x+y;
return result1;
}

float jianfa(float x,float y)
{
float result2;
result2=x-y;
return result2;
}
这个破程序怎么不管a等于什么符号都输出2个结果,
怎么让他a=‘+’时只输出x+y的结果
a=“-”时只输出x-y的结果

高手帮忙

if(a='+')
注意C语言的判断是应该
if(a=='+')
你原来的写法是赋值,而不是进行判断.因此导致了继续往下执行.

建议你以后写判断时这样写:
if ('+' == a)
如果不小心漏了个=号编译会出错.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-06
楼上正解。

现在许多语言编译器允许在比较表达式中把常量写在前面,这样就可以避免把比较表达式写成赋值语句了。
第2个回答  2010-08-06
if(a='+')改成if(a=='+') 试试
相似回答