有3个整型变量i, j, k请编写程序,设置3个指针变量p1,p2,p3,分别指向i, j, k。然后通过指针变量使i, j, k 3个变量的值顺序交换,即把i的原值赋给j,把j的原值赋给k,把k的原值赋给i。要求输出i, j, k的原值和新值。
程序流程图:
代码:
#include<stdio.h>
void main()
{
int i,j,k,*p1,*p2,*p3,t1,t2,t3;
p1=&i;
p2=&j;
p3=&k;
printf("输入i,j,k:\n");
scanf("%d,%d,%d",&i,&j,&k);
printf("输出i, j, k的原值:%d,%d,%d\n",i,j,k);
t1=*p1;
t2=*p2;
t3=*p3;
j=t1;
k=t2;
i=t3;
printf("输出i, j, k的新值%d,%d,%d\n",i,j,k);
}
结果:
小结:运用指针对应的值,结合交换器,输出变量交换后的值。