有三个整数xyz,设置三个指针变量p1p2p3,分别指向xyz,然后通过指针变量使xyz三个变量交换顺序,即原来的xd
时间: 2023-09-13 21:08:37 浏览: 72
yz变成了zyx。以下是代码实现:
```
int x = 1, y = 2, z = 3;
int *p1 = &x, *p2 = &y, *p3 = &z;
int temp = *p1;
*p1 = *p3;
*p3 = *p2;
*p2 = temp;
```
经过上述代码的执行后,变量 `x` 的值为 3,变量 `y` 的值为 1,变量 `z` 的值为 2。注意,这里使用了指针变量 `p1`、`p2`、`p3` 来操作变量 `x`、`y`、`z`,从而实现了变量的交换。
相关问题
有三个整数xyz,设置三个指针变量p1p2p3,分别指向xyz,然后通过指针变量使xyz三个变量交换顺序,即原来的x得值给y,把y的值给z,z的值
给x。以下是代码实现:
```
int x = 1, y = 2, z = 3;
int *p1 = &x, *p2 = &y, *p3 = &z;
int temp = *p1;
*p1 = *p2;
*p2 = *p3;
*p3 = temp;
```
经过上述代码的执行后,变量 `x` 的值为 2,变量 `y` 的值为 3,变量 `z` 的值为 1。注意,这里使用了指针变量 `p1`、`p2`、`p3` 来操作变量 `x`、`y`、`z`,从而实现了变量的交换。
用c语言写有三个整数xyz,设置三个指针变量p1p2p3,分别指向xyz,然后通过指针变量使xyz三个变量交换顺序,即原来的x得值给y,把y的值给z,z的值给x。xyz的原值由键盘输入,要求输出xyz的原值和新值
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int x, y, z;
printf("请输入三个整数:");
scanf("%d %d %d", &x, &y, &z);
printf("原始值:x=%d, y=%d, z=%d\n", x, y, z);
int *p1 = &x, *p2 = &y, *p3 = &z;
int temp = *p1;
*p1 = *p3;
*p3 = *p2;
*p2 = temp;
printf("交换后:x=%d, y=%d, z=%d\n", x, y, z);
return 0;
}
```
以上代码中,使用了 `scanf()` 函数从键盘输入三个整数 `x`、`y`、`z`,并输出它们的原始值。接着,定义指针变量 `p1`、`p2`、`p3` 分别指向 `x`、`y`、`z`,并使用指针变量进行交换。最后输出交换后的结果。
需要注意的是,在使用 `scanf()` 函数时,需要使用 `&` 符号取得变量的地址,以便将输入的值存储到对应的变量中。
阅读全文