用变量的指针作为函数调用的实参,降序输出3个整数
时间: 2024-04-08 08:31:13 浏览: 16
可以使用指针变量作为函数的实参,然后在函数中对指针所指向的变量进行操作。下面是一个降序输出三个整数的示例代码:
```c++
#include <iostream>
using namespace std;
void sort_desc(int* a, int* b, int* c) {
if (*a < *b) {
swap(*a, *b);
}
if (*a < *c) {
swap(*a, *c);
}
if (*b < *c) {
swap(*b, *c);
}
cout << *a << " " << *b << " " << *c << endl;
}
int main() {
int x = 3, y = 1, z = 2;
sort_desc(&x, &y, &z);
return ;
}
```
在上面的代码中,sort_desc函数接受三个指针变量a、b、c作为参数,然后对它们所指向的变量进行排序,最后输出降序排列的结果。在main函数中,我们定义了三个整数变量x、y、z,并将它们的地址作为实参传递给sort_desc函数。运行程序后,输出结果为:
```
3 2 1
```
这说明sort_desc函数成功地对x、y、z进行了降序排列。
相关问题
用变量的指针作为函数调用的实参,降序输出三个整数
可以使用指针变量作为函数的实参,然后在函数内部对指针所指向的变量进行操作。下面是一个降序输出三个整数的示例代码:
```c++
#include <iostream>
void printDescending(int* a, int* b, int* c) {
if (*a >= *b && *a >= *c) {
std::cout << *a << " ";
if (*b >= *c) {
std::cout << *b << " " << *c << std::endl;
} else {
std::cout << *c << " " << *b << std::endl;
}
} else if (*b >= *a && *b >= *c) {
std::cout << *b << " ";
if (*a >= *c) {
std::cout << *a << " " << *c << std::endl;
} else {
std::cout << *c << " " << *a << std::endl;
}
} else {
std::cout << *c << " ";
if (*a >= *b) {
std::cout << *a << " " << *b << std::endl;
} else {
std::cout << *b << " " << *a << std::endl;
}
}
}
int main() {
int x = 3, y = 7, z = 1;
int* px = &x;
int* py = &y;
int* pz = &z;
printDescending(px, py, pz);
return 0;
}
```
在上面的代码中,我们定义了一个函数 `printDescending`,它接受三个指向整数的指针作为参数。在函数内部,我们使用了条件语句来判断三个整数的大小关系,并按照降序输出它们。在 `main` 函数中,我们定义了三个整数变量 `x`、`y` 和 `z`,然后分别取它们的地址赋值给指针变量 `px`、`py` 和 `pz`,最后调用 `printDescending` 函数输出这三个整数的降序排列。
C语言用变量的指针作为函数调用的实参,降序输出3个整数。
可以使用指针作为函数的实参来实现降序输出三个整数。以下是一个示例代码:
```c
#include <stdio.h>
// 函数声明
void sortDescending(int* ptr1, int* ptr2, int* ptr3);
int main() {
int num1, num2, num3;
printf("请输入三个整数: ");
scanf("%d %d %d", &num1, &num2, &num3);
// 函数调用
sortDescending(&num1, &num2, &num3);
printf("降序输出: %d %d %d\n", num1, num2, num3);
return 0;
}
// 函数定义
void sortDescending(int* ptr1, int* ptr2, int* ptr3) {
if (*ptr1 < *ptr2) {
int temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
}
if (*ptr1 < *ptr3) {
int temp = *ptr1;
*ptr1 = *ptr3;
*ptr3 = temp;
}
if (*ptr2 < *ptr3) {
int temp = *ptr2;
*ptr2 = *ptr3;
*ptr3 = temp;
}
}
```
在这个例子中,`sortDescending` 函数接受三个整数的指针作为实参,并通过比较和交换来实现降序排序。在 `main` 函数中,我们输入三个整数,并将它们的地址作为实参传递给 `sortDescending` 函数。最后,我们输出排序后的结果。