#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 13:20:14 浏览: 27
这段代码的输出结果应该是: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。
相关问题
#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;
这段代码有一些问题,需要做一些调整才能正确运行。首先,代码中的函数 fun() 应该在最前面进行声明或定义,否则编译器会报错。其次,代码中的两个 printf() 函数中没有打印换行符,导致输出结果会在同一行上。最后,代码中的返回值应该为 0,表示程序正常结束。下面是修改后的代码:
```c
#include <stdio.h>
void fun(int *x, int *y);
int main(void) {
int x = 1, y = 2;
fun(&x, &y);
printf("%d %d\n", x, y);
return 0;
}
void fun(int *x, int *y) {
printf("%d %d\n", *x, *y);
*x = 3;
*y = 4;
}
```
这段代码的作用是定义了一个函数 fun(),该函数接受两个 int 类型的指针参数 x 和 y,输出它们的值,然后将它们的值分别改为 3 和 4。在 main() 函数中,定义了两个 int 类型的变量 x 和 y,然后将它们的地址传递给 fun() 函数进行处理。最后,输出修改后的 x 和 y 的值。
#include<stdio.h> void fun(int*x, int*y) { int* t ; printf("%d %d\n", *x, *y); *x = 3; *y = 4; } void main() { int x = 1, y = 2; fun(&y, &x); printf("%d %d", x, y); }
这段代码的输出结果是:
2 1
1 4
解释如下:
首先,我们定义了一个函数`fun`,它有两个参数,都是指向整型变量的指针。
然后,在`main`函数中,我们定义了两个整型变量`x`和`y`,并将它们的值分别初始化为1和2。
接着,我们调用了`fun`函数,并将`y`和`x`的地址作为参数传递给了它。
在`fun`函数中,我们首先输出了`x`和`y`指向的变量的值,即2和1。
然后,我们将`x`指向的变量的值改为3,将`y`指向的变量的值改为4。
最后,在`main`函数中,我们输出了`x`和`y`的值,即1和4。
可以看到,通过指针传递参数,我们可以在函数内部修改变量的值,并且这些修改也会影响到函数外部的变量。
阅读全文