键盘输入两个数交换位置输出使用指针变量输出结果
时间: 2023-07-11 21:09:37 浏览: 45
好的,以下是使用指针变量交换两个数并输出的示例代码:
```c
#include <stdio.h>
void swap(int *a, int *b) { // 定义一个交换函数,参数为两个指针变量
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x, y;
printf("请输入两个数:");
scanf("%d %d", &x, &y);
printf("交换前x=%d,y=%d\n", x, y);
swap(&x, &y); // 调用交换函数,传入指向x和y的指针变量
printf("交换后x=%d,y=%d\n", x, y);
return 0;
}
```
运行程序,输入两个数,输出结果如下:
```
请输入两个数:3 5
交换前x=3,y=5
交换后x=5,y=3
```
希望能对你有所帮助!
相关问题
从键盘输入两个整数,并设计一个函数(函数名为Swap),使用指针作参数,交换两个整数 输入:37 38 输出:38 37
下面是一个用指针实现交换两个整数的函数 `Swap()` 的示例代码:
```c++
#include <iostream>
using namespace std;
void Swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int x, y;
cout << "请输入两个整数:" << endl;
cin >> x >> y;
cout << "交换前:" << x << " " << y << endl;
Swap(&x, &y);
cout << "交换后:" << x << " " << y << endl;
return 0;
}
```
运行结果:
```
请输入两个整数:
37 38
交换前:37 38
交换后:38 37
```
在 `Swap()` 函数中,我们使用了指针来交换两个整数的值。首先,我们定义了一个临时变量 `temp` 来保存 `a` 指向的值。然后,我们将 `a` 指向的值赋给 `b` 指向的位置,再将 `b` 指向的值赋给 `a` 指向的位置。这样就完成了两个整数的交换。在 `main()` 函数中,我们首先输入两个整数,然后调用 `Swap()` 函数来交换这两个整数,最后输出交换后的结果。
C语言定义两个字符变量,分别存放从键盘上输入的两个字符,然后通过指针变量对这两个字符按照ASCII码值进行由小到大排序,最后输出排序后的两个字符
可以使用指针变量和条件语句来实现这个功能,具体代码如下:
```c
#include <stdio.h>
int main() {
char a, b, temp;
char *p1, *p2; // 定义指向字符的指针变量
printf("请输入两个字符:");
scanf("%c %c", &a, &b);
p1 = &a; // 将指针变量指向a和b
p2 = &b;
// 如果a的ASCII码值大于b的ASCII码值,则交换它们的位置
if (*p1 > *p2) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
printf("排序后的字符为:%c %c\n", *p1, *p2);
return 0;
}
```
在这个程序中,我们首先定义了两个字符变量a和b,并通过指针变量p1和p2将它们的地址保存下来。然后,使用条件语句判断a和b的ASCII码值大小关系,如果a的ASCII码值大于b的ASCII码值,则交换它们的位置。最后,输出排序后的两个字符。