复杂类型作函数参数之指针作为函数参数
时间: 1ms 内存:128M
描述:
用指针作为函数参数,交换两个变量的值。
#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
提示:
参考答案(内存最优[1092]):
#include <stdio.h>
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
return;
}
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;
}
参考答案(时间最优[0]):
#include <stdio.h>
void swap(int *p1, int *q1) /* 形参为指针 */
{
int temp;
temp = *p1; /* 指针指向的内存单元中的内容对调 */
*p1 = *q1;
*q1 = temp;
}
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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。