题目描述
用指针作为函数参数,交换两个变量的值。
#include <stdio.h>
/* 形参为指针 */
//begin
//end
int main( )
{
int a, b, *p, *q;
scanf("%d%d", &a, &b); /* 输入变量a、b的值 */
p = &a; /* 指针p指向变量a */
q = &b; /* 指针q指向变量b */
swap ( p, q ); /* 传递的数据是变量a、b的地址 */
printf("a=%d,b=%d\n", a, b); /* 输出交换后变量a,b的值 */
return 0;
}
//编写函数,只提交函数部分
输入
输入俩数字,进行值的交换
输出
输出交换后的结果
样例输入
1 2
样例输出
a=2,b=1
参考代码
#include <stdio.h>
#define swap(a,b)*a=*a+*b;
*b=*a-*b;
*a=*a-*b;
int main( )
{
int a, b, *p, *q;
scanf("%d%d", &a, &b);
/* è¾å
¥åéaãbçå¼ */
p = &a;
/* æépæååéa */
q = &b;
/* æéqæååéb */
swap ( p, q );
/* ä¼ éçæ°æ®æ¯åéaãbçå°å */
printf("a=%d,b=%dn", a, b); /* è¾åºäº¤æ¢ååéaï¼bçå¼ */
return 0;
}
解析
暂无