c语言第11题为什么是a
1个回答
展开全部
因为你变化的是指针,而不是数据,
char c1 = "A",c2 = "a",*p1,*p2;
p1 = &c1,p2 = &c2,即c1的地址存到p1,c2的地址存到p2,调用函数的时候,即a=p1,b=p2,执行第一步a=b,即a = p2,(这一步就是把c2的地址存到来a),下一步(*a)++,即把a指向的数据(也就是p2指向的数据,即C2)的数据加1,c2原本存的是字符“a“,加1也就变成字符”b“,从始至终c1的数据就没变化,所以输出结果是结果Ab
char c1 = "A",c2 = "a",*p1,*p2;
p1 = &c1,p2 = &c2,即c1的地址存到p1,c2的地址存到p2,调用函数的时候,即a=p1,b=p2,执行第一步a=b,即a = p2,(这一步就是把c2的地址存到来a),下一步(*a)++,即把a指向的数据(也就是p2指向的数据,即C2)的数据加1,c2原本存的是字符“a“,加1也就变成字符”b“,从始至终c1的数据就没变化,所以输出结果是结果Ab
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询