无法计算出两个复数的总和和差值。C函数无法正常工作
#include <stdio.h>
void sum_diff(double *r3, double *i3, double *r4, double *i4);
int main()
{
double r3, i3, r4, i4, s3, s4, d3, d4;
printf("Enter r3 and i3 where r3 + i3 is the first complex number.\n");
printf("r3 = ");
scanf("%lf", &r3);
printf("i3 = ");
scanf("%lf", &i3);
printf("Enter r4 and i4 where r4 + i4 is the second complex number.\n");
printf("r4 = ");
scanf("%lf", &r4);
printf("i4 = ");
scanf("%lf", &i4);
sum_diff(&r3, &i3, &r4, &i4);
printf("The sum of the two complex numbers = %.3lf + %.3lf\n.", s3, s4);
printf("The difference of the two complex numbers = %.3lf - %.3lf\n.", d3, d4);
return 0;
}
void sum_diff(double *r3, double *i3, double *r4, double *i4)
{
double s3, s4, d3, d4;
s3 = *r3 + *r4;
s4 = *i3 + *i4;
d3 = *r3 - *r4;
d4 = *i3 - *i4;
}
请发表你的意思是“不工作”,或者你得到的错误。猜测你正在收到编译错误。 – TenG
我对这个模糊的描述表示歉意。所以基本上当我在CodeBlocks中运行它时,它会提示我输入复数。总和和差异没有被计算。它只给我“两个复数的总和= 0.000 + 0.000”是否因为我的引用在void函数中是不正确的? – lg713
你实际上*正在计算总和和差值......你只是没有对它们做任何事情,或者把它们传回给main()。'sum_diff()'中的's3','s4'等与* main()中的变量不同*,它们是'sum_diff()'函数的本地变量实际上每次调用该函数)。 – Dmitri