输入2个整数,交换顺序后输出,程序要求使用指针处理。
程序提示:
自定义交换函数:
void swap(int *p1,int *p2) //实现*p1与*p2交换
{
}
//main函数结构如下:
int n1,n2;
int *q1,*q2;
//输入2个数,q1,q2分别指向这n1,n2这2个数
swap(q1,q2); //调用函数swap
printf(“%5d%5d”,n1,n2); //输出交换后的值
#include<stdio.h>
int main()
{
int temp, x1, x2;
scanf("%d %d", &x1, &x2);
int *p1 = &x1, *p2 = &x2;
temp = *p1;
*p1 = *p2;
*p2 = temp;
printf("%d %d", x1, x2);
return 0;
}
参考如下:
#include<stdio.h>
void swap(int *p1,int *p2) //实现*p1与*p2交换
{
int t = *p1;
*p1 = *p2;
*p2 = t;
}
int main()
{
int n1,n2;
int *q1,*q2;
//输入2个数,q1,q2分别指向这n1,n2这2个数
scanf("%d %d", &n1, &n2);
q1 = &n1;
q2 = &n2;
swap(q1,q2); //调用函数swap
printf("%5d%5d",n1,n2); //输出交换后的值
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:大家可能听说过这样一句话,没学过指针就是没学过C语言。指针确实时C语言的一大特色,更是C语言的一大核心。但是指针的学习也没有大家想象的这么难。今天就带大家一起来深入学习一下指针。