c语言指针问题求详细过程

大哥们哪位知道,c语言指针问题求详细过程
最新回答
心碎比心死更痛

2024-11-30 07:21:01

贴上代码,图片中讲解了程序运行过程,希望能帮助你加深对指针的理解。
#include <stdio.h>
f(int *a, int *b, int *c) {
int *t;
t=a;
a=b;
b=t;
*t=*b;
*b=*c;
*c=*t;
}

main() {
int a=5,b=7,c=3;
int *p1=&a,*p2=&b,*p3=&c;
f(p1,p2,p3);
printf("%d,%d,%d",a,b,c);
}
死亡与爱

2024-11-30 07:59:38

主函数中p1->a=5,p2->b=7,p3->c=3
调用f函数的参数的顺序是(p1,p2,p3)。
f函数中:a指向主函数中的a,b指向主函数中的b,c指向主函数中的c。
t=a,t指向主函数中的a;
a=b,a指向主函数中的b;
b=t,b指向主函数中的a;
*t=*b,由于t和b都指向主函数中的a,所以主函数中a的值=主函数中a的值=5;
*b=*c,主函数中a的值=主函数中c的值=3;
*c=*t,主函数中c的值=主函数中a的值=3
计算结果:
主函数中a的值=3
主函数中b的值没有变化,仍是7。
追答
主函数中c的值=3。
所以,返回主函数后打印abc的值分别是3 7 3
压抑情绪

2024-11-30 07:58:01

中秋节在红楼梦里被写到多次,但贾府过中秋,却安排在其贾府覆灭之时,字里行间满是悲凉意味,其实曹公已经伏下八十回后大悲之事。...详情