到进行运算就会有错误信息弹出来,程序也运行不下去,我是新手,求大神帮忙。
#include<stdio.h>
int main()
{
char sign;
double a,b,c,d,e,f;
printf("请输入第一个复数的实部与虚部:");
scanf("%lf %lf",&a,&b);
printf("第一个复数:%g+%gi ",a,b);
printf("请输入第二个复数的实部与虚部:");
scanf("%lf %lf",&c,&d);
printf("第二个复数:%g+%gi ",c,d);
printf("你想要进行什么运算:");
scanf("%c",sign);
if(c==0 && d==0){
printf("error");
}else if(sign=='+'){
e=a+c;
f=b+d;
printf("%g+%gi ",e,f);
}else if(sign=='-'){
e=a-c;
f=b-d;
printf("%g%gi ",e,f);
}else if(sign=='*'){
e=a*c-b*d;
f=a*d+b*c;
printf("%g%gi ",e,f);
}else if(sign=='/'){
e=(a*c+b*d)/(c*c+d*d);
f=(b*c-a*d)/(c*c+d*d);
printf("%g%gi ",e,f);
}else{
e=0;
f=0;
printf("error");
}
printf("该复数的实部与虚部分别为:%lf %lf",e,f);
}
你的
scanf("%c",sign);
错了,sign没加地址
改为
scanf(" %c",sign); //在%c前面加个空格
上一篇:各位大神,这个怎么解决?