永发信息网

c语言编程结果

答案:1  悬赏:80  手机版
解决时间 2021-08-22 23:14
  • 提问者网友:爱唱彩虹
  • 2021-08-21 22:38

#include<stdio.h>

void fun(char *c,int d)

{

*c=*c+1;d=d+1;

printf("%c,%c,",*c,d);

}

main()

{

char b='a',a='A';

fun(&b,a);

printf("%c,%c\n",b,a);

}

为什么结果是:b,B,b,A

最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-08-21 23:27
因为 fun(char *c,int d)第一个参数是以指针形式传入的,那么在fun函数中对c的修改就是对其本身值的修改,而参数d传入时系统自动创建一个副本,所以在fun函数中对d的修改只是对它副本的修改该在运行完fun后副本自动删除,所以会有这个结果
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯