奇怪的代码

Here with me 2018-11-03 12:13:02
一模一样的代码却有不一样的结果
...全文
71 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-11-05
  • 打赏
  • 举报
回复
输入合法性校验问题可以让程序员吃一辈子。
林多 2018-11-04
  • 打赏
  • 举报
回复
scanf("%d %d",&x,&y); 输入20 21 ,空格隔开即可

scanf("%d,%d",&x,&y); 需要用逗号隔开,输入20,21 。。。如果输入20 21 ,只会对x赋值为20。。。而y是不会进行赋值操作的。。
#花生酥 2018-11-04
  • 打赏
  • 举报
回复
你形参中间用什么隔开,实参中间就要用什么隔开
张天星 2018-11-04
  • 打赏
  • 举报
回复
一模一样的代码不可能有不一样的结果。。。。
Here with me 2018-11-03
  • 打赏
  • 举报
回复
引用 2 楼 weixin_42821193的回复:
#include<stdio.h> void Exchange(int *x,int *y) { int a; a=*y; *y=*x; *x=a; } int GreatestCommonDivisor(int x,int y) { int n,i; for(i=1;i<=x;i++) { if(x%i==0&&y%i==0) n=i; } return n; } int LeastCommonMultiple(int z,int x,int y) { int e; e=x/z*y/z*z; return e; } int main() { int x,y,z,e; printf("input(eg:x,y):\n"); scanf("%d,%d",&x,&y); if(x>y) Exchange(&x,&y); z=GreatestCommonDivisor(x,y); printf("最大公约数%d\n",z); e=LeastCommonMultiple(z,x,y); printf("最小公倍数%d\n",e); }
这个是错误的代码 会一直得出一样的结果
Here with me 2018-11-03
  • 打赏
  • 举报
回复
#include<stdio.h> void Exchange(int *x,int *y) { int a; a=*y; *y=*x; *x=a; } int GreatestCommonDivisor(int x,int y) { int n,i; for(i=1;i<=x;i++) { if(x%i==0&&y%i==0) n=i; } return n; } int LeastCommonMultiple(int z,int x,int y) { int e; e=x/z*y/z*z; return e; } int main() { int x,y,z,e; printf("input(eg:x,y):\n"); scanf("%d,%d",&x,&y); if(x>y) Exchange(&x,&y); z=GreatestCommonDivisor(x,y); printf("最大公约数%d\n",z); e=LeastCommonMultiple(z,x,y); printf("最小公倍数%d\n",e); }
Here with me 2018-11-03
  • 打赏
  • 举报
回复
#include<stdio.h> void Exchange(int *x,int *y) { int a; a=*y; *y=*x; *x=a; } int GreatestCommonDivisor(int x,int y) { int n,i; for(i=1;i<=x;i++) { if(x%i==0&&y%i==0) n=i; } return n; } int LeastCommonMultiple(int z,int x,int y) { int e; e=x/z*y/z*z; return e; } int main() { int x,y,z,e; printf("input(eg:x,y):\n"); scanf("%d %d",&x,&y); if(x>y) Exchange(&x,&y); z=GreatestCommonDivisor(x,y); printf("最大公约数%d\n",z); e=LeastCommonMultiple(z,x,y); printf("最小公倍数%d\n",e); }
@浪里小白龙 2018-11-03
  • 打赏
  • 举报
回复
你的n没有初始化呀,会出错的
自信男孩 2018-11-03
  • 打赏
  • 举报
回复
scanf("%d %d",&x,&y);

这句就不一样呢,一个是用空格,一个使用逗号,分割%d

33,321

社区成员

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

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