C调试高手进来一下!急!

来源:百度知道 编辑:UC知道 时间:2024/05/15 07:10:58
以下是复数四则运算的程序,但是却运行不了,高手能不能帮我调试下~
#include<stdio.h>
typedef struct Complex
{
float shi;
float xu;
}Complex;
void CreatComplex(Complex &c,float a,float b)
{
c.shi=a;
c.xu=b;
}
void AddComplex(Complex &sum,Complex c1,Complex c2)
{
sum.shi=c1.shi+c2.shi;
sum.xu=c1.xu+c2.xu;
}
void ChaComplex(Complex &cha,Complex c1,Complex c2)
{
cha.shi=c1.shi-c2.shi;
cha.xu=c1.xu-c2.xu;
}
void JiComplex(Complex &ji,Complex c1,Complex c2)
{
ji.shi=c1.shi*c2.shi-c1.xu*c2.xu;
ji.xu=c1.shi*c2.xu+c1.xu*c2.shi;
}
void Print(Complex c)
{
if(c.shi==0.0)
printf("%5.2f\n",c.shi);
else
printf("%5.2f+i%5.2f\n",c.shi,c.xu);
if(c.xu==0.0)
printf("%i5.2f\n",c.xu);
}
void Print_shi(Complex c)
{
printf("该复数的实部是:%5

C语言不支持引用,修改如下,将全部的引用改为指针操作:

//---------------------------------------------------------------------------

#include<stdio.h>
typedef struct Complex
{
float shi;
float xu;
}Complex;
void CreatComplex(Complex *c,float a,float b)
{
c->shi=a;
c->xu=b;
}
void AddComplex(Complex *sum,Complex c1,Complex c2)
{
sum->shi=c1.shi+c2.shi;
sum->xu=c1.xu+c2.xu;
}
void ChaComplex(Complex *cha,Complex c1,Complex c2)
{
cha->shi=c1.shi-c2.shi;
cha->xu=c1.xu-c2.xu;
}
void JiComplex(Complex *ji,Complex c1,Complex c2)
{
ji->shi=c1.shi*c2.shi-c1.xu*c2.xu;
ji->xu=c1.shi*c2.xu+c1.xu*c2.shi;
}
void Print(Complex c)
{
if(c.shi==0.0)
printf("%5.2f\n",c.shi);
else
printf("%5.2f+i%5.2f\n",c.shi,c.xu);
if(c.xu==0.0)
printf("%i5.2f\n",c.xu);
}
void Pr