结构共用体的初级问题
#include <stdio.h>
#include <stdlib.h>
struct fs {
int fz;
int fm;
} ;
struct fs jg(struct fs,struct fs);
int main()
{
struct fs js,bjs,zz;
js.fz=6;
js.fm=5;
bjs.fz=4;
bjs.fm=7;
printf("%d/%d",zz.fz,zz.fm);
system("PAUSE");
return 0;
}
//下面的程序是定义分数运算规则
struct fs jg(struct fs js,struct fs bjs)
{
struct fs zz;
zz.fz=js.fz*bjs.fm+bjs.fz*js.fm;
zz.fm=js.fm*bjs.fm;
return zz;
}
这是一个求分数的程序,运行出来结果不对啊
[解决办法]
返回一个拷贝可以的。
#include <stdio.h>#include <stdlib.h>typedef struct fs { int fz; int fm; }FS;FS jg(FS f1,FS f2);int main(){ struct fs js,bjs,zz; js.fz=6; js.fm=5; bjs.fz=4; bjs.fm=7; zz = jg(js, bjs); printf("%d/%d",zz.fz,zz.fm); system("PAUSE"); return 0;}//下面的程序是定义分数运算规则FS jg(FS js,FS bjs){ FS zz; zz.fz=js.fz*bjs.fm+bjs.fz*js.fm; zz.fm=js.fm*bjs.fm; return zz;}