他输出的是*chp 不是b[7]的值,而是..怎么说呢,指针?地址?
如果想正常输入输出就别用putchar这样的,用%s这样的比较好.
在你打进去字符串的时候,他的光标就一直移动到后面,你理解是指针地址移动或是指针移动也好.
然后现在他是从后面一个一个打出来.不是串而是个.
我理解也理解一半,不知道怎么讲才能懂.
#include<stdio.h> main() { char b[6]={"Goodye"}; char *p; p=b; while(p<=&b[6]) { putchar(*p); p++; } }
也许这样可以了!!你试试看吧! 因为你的那个chp指针变量的第一地址是B[7]的地址,*chp的值是e! 反过来了!我的理解是这样的!
看清楚,这是一个循环,--ch,ch=&b[6],ch>=&b[0];所以最后的如果就是将该字符串反序输出.