本人C语言初学者,刚刚学到指针,求帮忙🌹
请问这段代码是什么意思🥺

你要记住,指针就是地址。把所有的地址都打印出来你就能很清楚知道为什么是这个输出了。
其中唯一的难点就是在于*pt++这一句。这一句优先级关系,可以理解为*(pt++),也就是pt自增后再取地址内容。而pt++和++pt的区别就在于:
pt++是先赋值在自增,所以你看到下一步打印的时候,pt地址移到str[4]的地址了,但是在移位置之前,他把str[3]的内容改动了。
另外请注意,计算机中地址一般是用%x来表示的,也就是16进制表示地址的,但是16进制可能不好理解(遇到末端为ABC的没有数字那么直观),所以我用%d来打印,你可以看到具体的数字
char str[] = "ABC123";
for (int i = 0;i < 6;i++) {
printf("str[%d]地址为:%d\n", i, &str[i]);
}
char *pt;
pt = str + 3;
printf("pt地址为:%d\n", pt);
printf("%s\n", pt);
*pt++ = '6';
printf("pt地址为:%d\n", pt);
printf("%s\n", pt);
printf("%s\n", str);
pt += 2;
printf("pt地址为:%d\n", pt);
str[3] = *pt;
printf("%s\n", str);