有如下程序:
void fun(char*p1,char**p2)
{
p1=++;
(*p2)++;
}
void main
{
char s[]="abc",*p1=s,*p2=s;
fun(p1,&p2);
printf("%s\n%s",p1,p2);
}
程序运行后的输出结果是()。
A.abc B.bc C.abc D.bc
abc bc bc abc
一道C语言的题,希望给出详细解答
答案:3 悬赏:80 手机版
解决时间 2021-11-16 00:45
- 提问者网友:十年饮冰
- 2021-11-15 00:07
最佳答案
- 五星知识达人网友:我住北渡口
- 2020-09-09 09:43
答案应为C
C语言中实参与形参是单向值传递,指针变量也是如此(形参中的p1++并不能改变实参p1值),但形参中的指针变量可以改变实参指针变量的指向值(形参(*p2)++即实现了改变它的指向值,即实参指针p2值)
C语言中实参与形参是单向值传递,指针变量也是如此(形参中的p1++并不能改变实参p1值),但形参中的指针变量可以改变实参指针变量的指向值(形参(*p2)++即实现了改变它的指向值,即实参指针p2值)
全部回答
- 1楼网友:野慌
- 2019-12-01 20:57
这种题我也很头疼呀。。。。。
- 2楼网友:刀戟声无边
- 2021-11-13 16:02
p1=++是什么情况?语法错误啊。可以理解为p1++吗?
如果是选B
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯