编写c语言程序,实现交换两个变量值的操作。

2025-03-22 22:19:06
推荐回答(5个)
回答1:

/*
编写c语言程序,实现交换两个变量值的操作。
要求:使用形参为指针的函数swap完成交换功能。
主函数中,使用整型指针从键盘输入两个整数,通过调用swap完成交换
输出交换前后的变量值进行比较。
输入输出示例:
Input two number:3 4
Before change:a=3,b=4
After change:a=4,b=3

*/
//File: swap.c

#include
#include

void swap(int *a, int *b)
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
}

int main()
{
int *a=NULL,*b=NULL;
a=(int *)calloc(1,sizeof(int));
if(!a)
{
perror("calloc a err.");
}
b=(int *)calloc(1,sizeof(int));
if(!b)
{
perror("calloc b err.");
}

printf("Input two number:");
scanf("%d %d",a,b);
printf("Before change:a=%d,b=%d\n",*a,*b);
swap(a,b);
printf("After change:a=%d,b=%d\n",*a,*b);
return 0;
}
C:\mypro>gcc -g -Wall swap.c -o swap

C:\mypro>swap
Input two number:3 4
Before change:a=3,b=4
After change:a=4,b=3

C:\mypro>
程序已调好,直接运行即可。

回答2:

#include

int main()
{int a,b,c;
a=5;
b=9;

printf("交换前a=%d,b=%d\n",a,b);

printf("交换后a=%d,b=%d\n",b,a);
return 0;
}
我这样做可以换值,不过我总觉得有点怪怪的。

回答3:

这个还不简单?还要网上找?

void swap(int *a,int *b)
{
int c;
c=*a;
*a = *b;
*b = c

return;
}

回答4:

用一个中间变量代换,就是比较两个数的大小的那种方法

回答5:

void swap(int*pa,int *pb)
{
int c = *pa;
*pa = *pb;
*pb = c;
}