c语言怎么实现两个数据交换

Python09

c语言怎么实现两个数据交换,第1张

您好,很高兴回答您的问题。

程序设计中,若是交换两个数的话,是需要结合一个中间变量的。因为在赋值运算时,就是把右边数据的值赋值给左边变量,那么左边变量原来的值就消失了,为了避免出现这种值被覆盖的情况,一定要把原来变量的值先移出来,怎么移呢?就是把原来的值赋值给另一个中间变量。

方法 1:(引进变量)

可以认为a、b、c各占一个小格,小格里可以放入数字。具体步骤为:

程序如下:

#include <stdio.h>

int main()

{

int a,b,c

scanf("%d %d",&a,&b)

c=a;

a=b

b=c

printf("a=%d b=%d\n",a,b)

return 0

}

方法 2:()

两个数的互换可以用式子:

a=b-ab=b-aa=b+a来实现。

程序如下:

#include<stdio.h>

int main()

{

int a,b

scanf("%d %d",a,b)

a = a + b

b = a - b

a = a - b

printf("a=%d,b=%d", a, b)

return 0

}

方法 3:(指针)

程序如下:

#include<stdio.h>

int fun(int *p, int *q)

{

int tmp = *p

*p = *q

*q = tmp

}

int main()

{

int a,b

scanf("%d %d",&a,&b)

printf("%d,%d\n", a, b)

fun(&a, &b)

printf("%d,%d\n", a, b)

return 0

}