请大神解释c语言程序结果为什么是这样的
2个回答
展开全部
首先你的函数里面有打印,主函数里面也有打印,所以会发出四个值:
1、fun函数的参数实际是&y,&x,所以当打印*x时,打印的实参是y的值也就是2,同理*y打印的是实参x的值为1,出现的就是打印结果的前两个数21
2、同时fun函数修改了参数x和y的值,按照1的说法,*x实际表示的是y,所以*x = 3 = y;
同理*y = 4 = x;在main函数里面打印的就是43
综合结果就是2143
如果还有不清楚的,建议看看函数传递指针参数的用法
1、fun函数的参数实际是&y,&x,所以当打印*x时,打印的实参是y的值也就是2,同理*y打印的是实参x的值为1,出现的就是打印结果的前两个数21
2、同时fun函数修改了参数x和y的值,按照1的说法,*x实际表示的是y,所以*x = 3 = y;
同理*y = 4 = x;在main函数里面打印的就是43
综合结果就是2143
如果还有不清楚的,建议看看函数传递指针参数的用法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询