作业帮 > 综合 > 作业

谁能告诉我这个程序错在哪?交换 a b的值

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/13 05:03:54
谁能告诉我这个程序错在哪?交换 a b的值
#include "stdio.h"
int x,y;
void h(void)
{
int t;
t=x;x=y;y=t;
}
void main()
{ int a=3,b=5;
h();
printf("%d %d",a,b);
getch();
}
int x,y;
void h(void)
{
int t;
t=x;x=y;y=t; //x,y是全局变量,这是能实际交换
}
void main()
{ int a=3,b=5;
h(); //a,b是局部变量,作用域在main中,hi不能交换a,b的值,
printf("%d %d",a,b);
getch();
}
main改成以下形式可以实现交换:
void main()
{ x=3,y=5;//x,y已在前面定义,这里是赋值
h();
printf("%d %d",x,y);
getch();
}