全局变量程序没有错,应该超范围了
#include<stdio.h> void isadd(float r1,float r2,float i1,float i2,float *pr,float *pi) { *pr=r1+r2; *pi=i1+i2; } void iscf(float r1,float r2,float i1,float i2,float *pr,float *pi) { *pr=r1*r2-i1*i2; *pi=r1*i2-r2*i1; } int main() { float r1,r2,i1,i2,resultr,resulti; printf("输入第一个复数实部:"); scanf("%f",&r1); printf("输入第一个复数虚部:"); scanf("%f",&i1); printf("输入第二个复数实部"); scanf("%f,%f",&r2); printf("输入第二个复数虚部"); scanf("%f,%f",&i2); isadd(r1,r2,i1,i2,&resultr,&resulti); printf("%.0f+%.0fi=和值\n",resultr,resulti); iscf(r1,r2,i1,i2,&resultr,&resulti); printf("%.0f+%.0fi=乘值",resultr,resulti); return 0; }