printf语句无法执行

Shaconuo 2019-01-30 09:12:05
向大佬求助:
我想用调用函数来求两个整数的最小公倍数和最小公倍数。但是我想把两个功能拆开用的时候,发现除了第一个printf语句,其他的printf语句都不执行,我问了别人,他也有发生了不执行的情况。
可正常执行的代码如下
#include<stdio.h>
int main()
{
int a,b,c,d;
int bei(int,int);
int yue(int,int,int);
scanf("%d,%d",&a,&b);
c=bei(a,b);
printf("最小公倍数为%d\n",c);
d=yue(a,b,c);
printf("最打公约数为%d\n",d);
return 0;
}
int bei(int a,int b)
{
int t,z;
if(z>a)
{
t=a;a=b;b=t;
}
while ((z=a%b)!=0)
{
a=b;
b=z;
}
return (b);
}
int yue (int a,int b,int c)
{
return (a*b/c);
}

运行结果是这样的:

没法运行的代码是这样的:
#include<stdio.h>
int main()
{
int a,b,c;
int bei(int,int);
printf("请输入两个整数\n");
scanf("%d,%d ",&a,&b);
printf("最小公倍数为;\n");
c=bei(a,b);
printf("最小公倍数为");
printf("最小公倍数为%d",c);
return 0;
}
int bei(int a,int b)
{
int t,z;
if(b>a)
{
t=a;a=b;b=t;
}
while ((z=a%b)!=0)
{
a=b;
b=z;
}
return (b);
}

运行结果是这样的

这串代码除了第一个printf语句可以执行,接下来的printf语句都不执行了我很是奇怪想请大佬告知
...全文
370 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shaconuo 2019-01-30
  • 打赏
  • 举报
回复
感谢楼上,分已给
lin5161678 2019-01-30
  • 打赏
  • 举报
回复
第二段代码
scanf("%d,%d ",&a,&b);

格式控制字符串"%d,%d " 最后的空格去掉
"%d,%d"
顺便算的公倍数是错的
算出来是公约数

第一段代码
    int t,z;
if(z>a)

z和a比较是错的
z垃圾值
和a比较结果没意义

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧