這個是要用函式和結構體完成對兩個復數的加減
運行結果 實部是對的,但是虛部沒有變化,還是原來輸入的值。這是咋回事……(沒有報錯)



uj5u.com熱心網友回復:
這是原始碼:# include <stdio.h>
struct fun
{
int s;
int x;
};
void fun_1(struct fun * m, struct fun * n)
{
int sum, diff;
sum = (*m).s + (*n).s;
diff = (*m).s - (*n).s;
(*m).s = sum;
(*n).s = diff;
}
void fun_2(struct fun * p, struct fun * q)
{
int sum, diff;
sum = (*p).x + (*q).x;
diff = (*p).x - (*q).x;
(*p).x = sum;
(*q).x = diff;
}
int main()
{
struct fun a, b;
printf("請各自輸入兩個復數的實部與虛部:\n");
scanf("%d %d", &a.s, &a.x);
scanf("%d %d", &b.s, &b.x);
fun_1(&a.s, &b.s);
fun_2(&a.x, &b.x);
printf("和為 :%d + %d\n", a.s, a.x);
printf("差為 :%d + %d\n", b.s, b.x);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148947.html
標籤:C語言
上一篇:while回圈不跳出回圈,感謝!
下一篇:大佬幫忙看看什么問題
