http://programming.im.ncnu.edu.tw/Chapter13.htm
*********************************
結構基礎(回傳多重值:分母)
#include <stdio.h>
#include <stdlib.h>
struct ReturnValue {
int iVal1;
int iVal2;
};
struct ReturnValue TestReturn(){
struct ReturnValue rv;
rv.iVal1 = 19;
rv.iVal2 = 5;
return rv;
}
int main(){
struct ReturnValue rv;
rv = TestReturn( );
printf("%d/%d",rv.iVal1,rv.iVal2);
return 0;
}
***********************************
結構例子(分母乘法) (特殊運算子)
#include <stdio.h>
#include <stdlib.h>
struct fraction{
int a,b;
};
struct fraction multiply(int p,int o,int l,int k){
struct fraction st;
st.a=p*l;
st.b=o*k;
return st;
}
int main() {
struct fraction st1,st2,st3;
st1.a=5;
st1.b=3;
st2.a=4;
st2.b=1;
st3=multiply(st1.a,st1.b,st2.a,st2.b);
printf("%d/%d",st3.a,st3.b);
return 0;
}
**************************
結構例子(分母乘法) (特殊運算子) *改進*
#include <stdio.h>
#include <stdlib.h>
struct fraction {
int a, b;
};
typedef struct fraction Fraction; //以後可以用 Fraction 取代 struct fraction
Fraction multiply(Fraction f1, Fraction f2) {
Fraction st;
st.a = f1.a * f1.b;
//st.b = o*k; //類似
return st;
}
int main() {
Fraction st1, st2, st3;
st1.a = 5;
st1.b = 3;
st2.a = 4;
st2.b = 1;
st3 = multiply(st1, st2);
printf("%d/%d", st3.a, st3.b);
return 0;
}