有3个整型变量i、j、k,请编写程序,设置3个指针变量p1、p2、p3,分别指向i、j、k。然后通过指针变量使i、j、k的值顺序交换、
时间: 2023-10-20 15:23:58 浏览: 129
可以使用以下程序实现指针变量交换i、j、k的值:
```c++
#include <iostream>
using namespace std;
int main() {
int i = 1, j = 2, k = 3;
int *p1 = &i, *p2 = &j, *p3 = &k;
// 输出交换前的值
cout << "交换前:" << i << " " << j << " " << k << endl;
// 通过指针变量交换i、j、k的值
int temp = *p1;
*p1 = *p2;
*p2 = *p3;
*p3 = temp;
// 输出交换后的值
cout << "交换后:" << i << " " << j << " " << k << endl;
return 0;
}
```
输出结果为:
```
交换前:1 2 3
交换后:2 3 1
```
相关问题
2、有3个整型变量i,j,k。请编写一个程序,设置3个指针变量p1,p2,p3,分别指向i,j,k,然后通过指针变量使i,j,k 3个变量的值顺序交换,即原来i的值赋给j,把j的原值赋给k,把k的原值赋给i。i,j,k的原值由键盘输入,要求输出i,j,k的原值和新值。
好的,这是一个简单的指针操作程序,下面是代码实现:
```c
#include <stdio.h>
int main() {
int i, j, k;
int *p1, *p2, *p3, temp;
// 获取i、j、k的值
printf("请输入i、j、k的值:\n");
scanf("%d%d%d", &i, &j, &k);
// 设置指针变量p1、p2、p3
p1 = &i;
p2 = &j;
p3 = &k;
// 交换i、j、k的值
temp = *p1;
*p1 = *p3;
*p3 = *p2;
*p2 = temp;
// 输出原值和新值
printf("原值:i=%d, j=%d, k=%d\n", i, j, k);
printf("新值:i=%d, j=%d, k=%d\n", *p1, *p2, *p3);
return 0;
}
```
运行代码后,你可以输入三个整数,程序会使用指针交换这些整数的值,并输出原值和新值。
c语言 有3个整型变量i,j,k。请编写一个程序,设置 3个指针变量 p1, p2, p3,分别 指向i, j, k,然后通过指针变量使i, j, k 3个变量的值顺序交换,即原来 i 的值赋给 j ,把 j的原值赋给k,把k的原值赋给i。i, j, k的原值由键盘输入,要求输出 i, j, k的原值和 新值。
下面是实现该程序的 C 语言代码:
```
#include <stdio.h>
int main()
{
int i, j, k;
int *p1, *p2, *p3, temp;
printf("请输入 i, j, k 三个整数:");
scanf("%d%d%d", &i, &j, &k);
p1 = &i;
p2 = &j;
p3 = &k;
// 交换 i, j, k 三个变量的值
temp = *p1;
*p1 = *p2;
*p2 = *p3;
*p3 = temp;
// 输出原值和新值
printf("i 的原值为:%d,新值为:%d\n", temp, i);
printf("j 的原值为:%d,新值为:%d\n", *p1, j);
printf("k 的原值为:%d,新值为:%d\n", *p2, k);
return 0;
}
```
运行程序后,会要求用户输入 i, j, k 三个整数。然后程序会通过指针变量 p1, p2, p3 分别指向 i, j, k。接着程序交换了 i, j, k 三个变量的值,并输出它们的原值和新值。
阅读全文