首页 新闻 会员 周边 捐助

用c语言编写一个分子分母的最简式

0
[待解决问题]

#include<stdio.h>
int main()
{
int a,b,c,*d=0,*e=0;
scanf("%d/%d",&a,&b);
if(b==0)printf("no");
else if(a==1||b==1){
printf("%d/%d",a,b);
}
else {
for(c=1;*d==1||*d==a||*d==1/c;c++){
*d=a/c;
}
for(c=1;*e==1||*e==b||*e==1/c;c++){
*e=b/c;
}
printf("%d/%d",*d,*e);
}
return 0;
}

c
问题补充:

为什么一调试就崩溃

ccccc三的主页 ccccc三 | 初学一级 | 园豆:5
提问于:2018-04-28 16:05
< >
分享
所有回答(2)
0

指针要分配空间

*d= new int,*e= new int;

*d = 0 并没有分配空间

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-28 16:19

??

支持(0) 反对(0) ccccc三 | 园豆:5 (初学一级) | 2018-04-28 16:19

意思是要加一个new int?

支持(0) 反对(0) ccccc三 | 园豆:5 (初学一级) | 2018-04-28 16:20

@ccccc三: 是的,在赋值之前new int,之后也可以。

支持(0) 反对(0) Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-28 16:26
0

d 和 e 要malloc分配内存。你这样会段错误的

漂洋过海的熊 | 园豆:210 (菜鸟二级) | 2018-07-05 20:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册