#include<stdio.h> void fun (int *x, int *y) { printf("%d%d", *x,*y); *x=3; *y=4; } int main(void) { int x=1,y=2; fun(&x,&y); printf("%d%d", x, y); return 0; }
时间: 2024-01-24 10:20:14 浏览: 29
这段代码的输出结果应该是:12 34 。
函数fun接受两个指向int类型变量的指针作为参数,打印出指针所指向的变量的值,然后将两个变量的值分别改为3和4。
在主函数中定义了两个int类型变量x和y,初始值分别为1和2。然后调用fun函数,将x和y的地址作为参数传递给fun函数。
在fun函数中,打印出x和y所指向的变量的值,即1和2。然后将x和y所指向的变量的值分别改为3和4。
回到主函数中,打印出x和y的值,此时x的值为3,y的值为4。
因此,最终输出的结果为12 34。
相关问题
1 #include<stdio.h> 2 #include<string.h> 3 /********found******** void fun(int a[]
这是C语言程序的一个开头部分,包含了`stdio.h`和`string.h`两个头文件。`stdio.h`通常用于处理标准输入输出,如printf()、scanf()等函数,而`string.h`则提供字符串操作相关的函数,如strlen(), strcpy(), strcat()等。
`/********found********`这部分似乎是一个注释,表示在接下来的内容中找到了某个功能或变量声明。`void fun(int a[])`很可能定义了一个名为`fun`的函数,它接受一个整型数组`a`作为参数,但没有返回值(因为`void`是无类型的)。这个函数可能会对数组元素进行某种操作。
举个例子,可能的完整代码片段可能是这样的:
```c
#include<stdio.h>
#include<string.h>
// 定义一个函数,接收整数数组作为参数
void fun(int a[]) {
int i;
for (i = 0; i < strlen(a); i++) {
printf("Array element %d: %d\n", i, a[i]);
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
fun(arr);
return 0;
}
```
在这个例子中,`fun`函数打印出数组的所有元素。
#include<stdio.h> void fun(int *a, int *b) { int *t; t=a;a=b;b=t; } void main( ) { int x=3, y=4; fun(&x, &y); printf("%d, %d", x, y);
这段代码的作用是交换变量x和y的值。但是代码有一个小错误,main函数的返回值类型应该是int而不是void。
正确的代码应该是这样的:
```
#include <stdio.h>
void fun(int *a, int *b) {
int *t;
t = a;
a = b;
b = t;
}
int main() {
int x = 3, y = 4;
fun(&x, &y);
printf("%d, %d", x, y);
return 0;
}
```
运行结果会输出 "3, 4",因为指针变量a和b在fun函数内部交换了指向的地址,但是并没有改变x和y的值。如果想要交换x和y的值,可以修改fun函数的实现,如下所示:
```
void fun(int *a, int *b) {
int t = *a;
*a = *b;
*b = t;
}
```
这样运行结果就会输出 "4, 3"。
阅读全文