编写一个函数fun,交换两个数的值,要求使用指针实现。然后再main函数中调用fun函数。fun函数的头部为void fun (int *a,int *b),用C语言
时间: 2024-05-10 08:17:38 浏览: 97
以下是使用指针交换两个数的值的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_h和fun_k,当用户输入1时,调用fun_h函数,否则调用fun_k函数,要求使用函数指针进行调用。 编写一个函数指针程序,有两个自定义的函数,分别叫fun_h和fun_k,当用户输入1时,调用fun_h函数,否则调用fun_k函数,要求使用函数指针进行调用。
以下是一个使用函数指针的程序,根据用户的输入调用不同的自定义函数:
```c
#include <stdio.h>
void fun_h()
{
printf("调用了fun_h函数\n");
}
void fun_k()
{
printf("调用了fun_k函数\n");
}
int main()
{
int choice;
void (*func_ptr)(); // 声明函数指针
printf("请输入 1 或 2:");
scanf("%d", &choice);
if (choice == 1)
func_ptr = fun_h; // 函数指针指向fun_h函数
else
func_ptr = fun_k; // 函数指针指向fun_k函数
func_ptr(); // 调用函数指针所指向的函数
return 0;
}
```
在这个程序中,我们首先声明了一个函数指针`func_ptr`,该指针可以指向不返回值且不接受任何参数的函数。然后,我们根据用户输入选择将函数指针指向`fun_h`或`fun_k`函数。最后,我们通过`func_ptr()`调用函数指针所指向的函数。
希望这个程序能够满足您的需求!如果您有任何其他问题,请随时提问。
编写一个函数fun,功能是求字符串的长度;在主函数中输入一个字符串,然后调用fun函数完成求串的长度并返回,在主函数中输出fun返回的串长结果。要求用指针完成fun函数,不得使用strlen库函数。
好的,这是一个比较简单的字符串长度求解程序,以下是代码实现:
```c
#include <stdio.h>
// 函数声明
int fun(char *s);
int main()
{
char s[100];
printf("请输入一个字符串:");
scanf("%s", s);
int len = fun(s); // 调用函数
printf("该字符串的长度为:%d\n", len);
return 0;
}
// 函数定义
int fun(char *s)
{
int len = 0;
while (*s != '\0')
{
len++;
s++;
}
return len;
}
```
在上述代码中,我们通过指针 `*s` 来遍历字符串中的每一个字符,当字符不是字符串的结束符 `\0` 时,就将字符串长度加一,最后返回字符串长度。
希望这个程序能对你有所帮助。
阅读全文