帮我分析一下这到题!谢谢!!!
有以下程序void fun(char *c,int d)
{*c=*c+1;d=d+1;printf("%c,%c,",*c,d);
}
voidmain()
{char a='A',b='a';fun(&b,a); printf("%c,%c\n",a,b);
}
程序运行后的输出结果是______。
A) B,a,B,a B) a,B,a,B C) A,b,A,b D) b,B,A,b 很明显是D
将b的指针作为参数传入函数fun中,b的值被改变
将a的复制作为参数传入函数fun中,a的值没有改变,但函数内的局部变量d改变,其值为a+1
故结果为D
满意请采纳,不满意请追问 这个程序还要怎么解释?考的应该是传值和传址的知识, fun( &b, a ); 执行之后,b值改变,a值不变 这个好啊。。。。。。。。。。。:lol: ............................................. 搞清楚地址 和 数据 ,参数传递问题就好了。。。
页:
[1]