为什么不是不先输出a,而且输出c

以下程序段运行结果是( )。

 char a[]="abc",*p; 

 for(p=&a[2]; p>=a; p--) 

 printf("%s",p);

 (A) cbcabc (B) abc (C)abcbcc (D) cba

循环共执行三次

第一次p指针指向c的位置,打印字符串p会输出c

第二次p指针后移一个位置,即指向b的位置,打印字符串p会输出bc

第三次p指针再后移一个位置,即指向a的位置,打印字符串p会输出abc

不能在移动了,因为不满足p>=a的循环条件,运行结束

最终打印结果就是cbcabc

p=&a[2]指向c,先输出c,然后循环输出b  a  所以最终是cba