C语言第十八题,刚入门C语言,答案是D有图,希望怎么得到的过程详细一些?

18.下面程序的运行结果是( )。
# include < stdio.h>
void fun(int x,int y,int *cp,int *dp)
{*cp=x-y; *dp=x+y;)
void main( )
{
int a=1,b=2,c=3,d=4;
fun(a,b,&c,&d);
printf("%d, %d\n",c,d);
}
A.-1,2
B.3,4
с.-1,4
D.-1,3

指针基础知识;
fun(a,b,&c,&d);传递a和b的值,传递c和d的地址;
void fun(int x,int y,int *cp,int *dp)
定义两个int类型变量接收a和b的值;定义两个int类型指针接收c和d的地址;
指针cp指向c,*cp等价于c;
指针dp指向d,*dp等价于d;
在fun函数内部修改了变量c和d的值;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-25
结果是D,我上机编译的
相似回答