编写一个函数fun,交换两个数的值,要求使用指针实现。然后再main函数中调用fun函数。fun函数的头部为void fun (int *a,int *b),用C语言
时间: 2024-05-10 22:17:38 浏览: 12
以下是使用指针交换两个数的值的C语言代码:
```c
#include <stdio.h>
void fun(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10, y = 20;
printf("Before swapping: x = %d, y = %d\n", x, y);
fun(&x, &y);
printf("After swapping: x = %d, y = %d\n", x, y);
return 0;
}
```
输出:
```
Before swapping: x = 10, y = 20
After swapping: x = 20, y = 10
```
相关问题
C语言编写一个函数fun(char* s),该函数的功能是把字符串中的内容逆置
您好!以下是一个使用C语言编写的函数fun(char* s),该函数可以将字符串中的内容进行逆置:
```c
#include <stdio.h>
#include <string.h>
void fun(char* s) {
int length = strlen(s);
int i, j;
char temp;
for (i = 0, j = length - 1; i < j; i++, j--) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
fun(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
在上述代码中,我们首先使用`strlen`函数获取字符串的长度,然后使用两个指针`i`和`j`分别指向字符串的首尾。通过交换指针所指向位置的字符,我们可以将字符串内容进行逆置。在`main`函数中,我们定义了一个字符串`str`,并在调用`fun`函数后打印逆置后的字符串。
运行上述代码,输出将会是:
```
Original string: Hello, World!
Reversed string: !dlroW ,olleH
```
希望这能帮到您!如果您有任何其他问题,请随时提问。
编写一个比较两个整数大小的子函数。在主函数中通过函数指针调用该函数并传值,得到正确结果
好的,我可以帮你编写这个函数。以下是代码实现:
```c++
#include <iostream>
using namespace std;
bool compare(int a, int b) {
return a > b;
}
int main() {
int x = 10, y = 20;
bool (*fun)(int, int) = compare;
if (fun(x, y)) {
cout << "x > y" << endl;
} else {
cout << "x <= y" << endl;
}
return 0;
}
```
这个程序定义了一个 `compare` 函数,用于比较两个整数的大小。在 `main` 函数中,将函数的地址赋值给了 `fun` 函数指针,然后通过调用函数指针来执行 `compare` 函数,得到了比较结果并输出。
注意,在 `compare` 函数中,我们使用了布尔类型的返回值来表示两个整数的大小关系。如果 `a` 大于 `b`,则返回 `true`,否则返回 `false`。
另外,这里还使用了函数指针,通过函数指针调用函数可以实现动态绑定,从而提高程序的灵活性和可扩展性。