求解析该C语言程序的运行结果及对每个语句进行讲解?
#include<stdio.h>char*pc="ABCDEF";intmain(){char*chp;for(chp=pc;*chp;chp++,pc++,chp++...
#include<stdio.h>
char *pc="ABCDEF";
int main( )
{
char *chp;
for(chp=pc;*chp;chp++,pc++,chp++)
printf("%s\n",chp);
}
主要讲解for循环内的内容,非常感谢! 展开
char *pc="ABCDEF";
int main( )
{
char *chp;
for(chp=pc;*chp;chp++,pc++,chp++)
printf("%s\n",chp);
}
主要讲解for循环内的内容,非常感谢! 展开
展开全部
运行结果:
ABCDEF
CDEF
EF
for (
chp = pc; // 将pc的值(即串"ABCDEF"的首地址)赋值给chp,此时pc指向串"ABCDEF"的第一个字符,即‘A’,所以pc的值也是‘A’的地址。
*chp; // 当chp为‘\0’时退出for循环。串"ABCDEF"最后一个字符为'\0',即当chp指向该串最后一个字符时,结束for循环。
chp++, pc++, chp++ // pc自增一次同时,chp自增两次(即chp+=2)。pc自增不影响结果。chp+=2,相当于按一个字符间隔输出后续字符。
)
更多追问追答
追问
pc=A,chp=A, 输出 ABCDEF;
pc=B,chp=C, 输出 CDEF;
pc=C,chp=E, 输出 EF。
可以这样理解吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询