这个C程序有什么问题,为什么输出是a=20,b=20,值没有交换
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 07:40:51
这个C程序有什么问题,为什么输出是a=20,b=20,值没有交换
main()
{ int a=10,b=20;
int *x=&a,*y=&b;
printf("a=%d,b=%d\n",a,b);
swap(x,y);
printf("after change a=%d,b=%d",a,b);
getch();
}
swap(int *x,int *y )
{
int *t;
*t=*x;
*x=*y;
*y=*t;
}
main()
{ int a=10,b=20;
int *x=&a,*y=&b;
printf("a=%d,b=%d\n",a,b);
swap(x,y);
printf("after change a=%d,b=%d",a,b);
getch();
}
swap(int *x,int *y )
{
int *t;
*t=*x;
*x=*y;
*y=*t;
}
* X,是a是整形变量,而*t是指针变量t所指向的变量.但t无确定的值,因此t所指向的单元是不可预见的.修改后的程序如下:
main()
{ int a=10,b=20;
int *x=&a,*y=&b;
printf("a=%d,b=%d\n",a,b);
swap(x,y);
printf("after change a=%d,b=%d",a,b);
getch();
}
swap(int *x,int *y )
{
int t;
t=*x;
*x=*y;
*y=t;
}
main()
{ int a=10,b=20;
int *x=&a,*y=&b;
printf("a=%d,b=%d\n",a,b);
swap(x,y);
printf("after change a=%d,b=%d",a,b);
getch();
}
swap(int *x,int *y )
{
int t;
t=*x;
*x=*y;
*y=t;
}
怎么编写C程序:交换数据.对于输入的两个变量a和b,交换他们的值并输出
C语言,一个小问题,t=a; a=b; b=t;这个是a和b的交换,请问交换是后是什么作用呢?
下面程序的输出结果是 a=10,b=20,c=0
怎样用C语言设计一个程序,输入A、B的值,将两个值交换后输出.
c语言程序改错: 功能:实现交换两个整数的值. 例如:给a和b分别输入3和6 ,输出为a=6 b=3
帮我看一这个C语言程序有什么问题?目的是交换两个字符变量,老是编译不行,是新手,不太懂
c语言 逗号6.以下程序的输出为【 】.main( ){ int a=20,b=30,c=40;if(a>b) a=b,
编写一个程序来实现交换两个字符型变量的值.例如,如果输入a=’H’,b=’i’,输出则是a=’I’,b=’H’.
c语言二级问题 若有程序段"char c=256;int a=c;",则执行该程序后a的值是 A,256 B,65536
按下面程序计算,输入x=3,这输出的答案是( )A.3 B.4 C.5
执行下面程序中的输出语句后,a的值是20,为什么
小弟有一个小问题请问下:C语言程序中,有一句 A(&B,C); 这个A(&B,C);是怎么意思