怎样用c语言编写两值的交换
3个回答
展开全部
/*
编写c语言程序,实现交换两个变量值的操作。
要求:使用形参为指针的函数swap完成交换功能。
主函数中,使用整型清尘指针从键盘输入两个整数,通过斗姿调用swap完成交换
输出交换前后的变量值进行比较。
输入输出示例:
Input two number:3 4
Before change:空正绝a=3,b=4
After change:a=4,b=3
*/
//File: swap.c
#include <stdio.h>
#include <stdlib.h>
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>
程序已调好,直接运行即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很多方没老法啊,如果你想用函数
void swap(int *x,int *y)
{
int t = *x;
*x = *y;
*y = t;
}
当然你也可以
用两个式子来表数败示:
下面以交换a,b为例
a=a+b;
b=a-b;
a=a-b
或枯毕升者:
a = a^b;
b=a^b;
a=a^b
void swap(int *x,int *y)
{
int t = *x;
*x = *y;
*y = t;
}
当然你也可以
用两个式子来表数败示:
下面以交换a,b为例
a=a+b;
b=a-b;
a=a-b
或枯毕升者:
a = a^b;
b=a^b;
a=a^b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void swap(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
调用时数激旁铅卜,薯橡
swap(&a,&b);
{
int t=*a;
*a=*b;
*b=t;
}
调用时数激旁铅卜,薯橡
swap(&a,&b);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询