复杂类型作函数参数之指针作为函数参数

复杂类型作函数参数之指针作为函数参数

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注