比较三个数的大小应注意的问题:(复制传植问题)
错误的代码:
#include<stdio.h>
void bijiao(int m,int n);
int main()
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
bijiao(x,y);
bijiao(x,z);
bijiao(y,z);
printf("%d %d %d/n",x,y,z);
return 0;
}
void bijiao(int m,int n)
{
int temp;
if(m>n)
{
temp=m;
m=n;
n=temp;
}
}
正确的代码:
#include<stdio.h>
void bijiao(int *m,int *n);
int main()
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
bijiao(&x,&y);
bijiao(&x,&z);
bijiao(&y,&z);
printf("%d %d %d/n",x,y,z);
return 0;
}
void bijiao(int *m,int *n)
{
int temp;
if(*m>*n)
{
temp=*m;
*m=*n;
*n=temp;
}
}
原因在于实参与虚参的传值问题.
183

被折叠的 条评论
为什么被折叠?



