#include stdiohvoid fun int a int bint c;c=a;a=b;b=c;main int x=3y=5 p=&x q=&y; funpq; printfddpq ; fun&x &y ;printfd dnp q ;输出的结果是什么讲解一下具体过程
输出结果为:5, 3, 5, 3
具体过程如下:
-
定义了函数fun,其中有三个指针变量a、b、c,函数的作用是将a和b指向的变量的值交换。
-
在main函数中定义了两个整型变量x、y,分别赋值为3和5,并定义了两个指针变量p和q,分别指向x和y。
-
调用fun函数,将p和q作为参数传递进去。在函数内部,将指针c指向a指向的变量,然后将a指向b指向的变量,将b指向c指向的变量。即交换了p和q指向的变量的值。
-
输出p和q的值,分别为5和3。
-
再次调用fun函数,将x和y的地址作为参数传递进去。在函数内部,同样是交换了指针a和b指向的变量的值。但此时p和q还是指向原来的变量x和y,因此输出的p和q的值仍然为5和3。
因此,最终的输出结果为5, 3, 5, 3。
原文地址: https://www.cveoy.top/t/topic/e9Bn 著作权归作者所有。请勿转载和采集!