我有一个小的代码 做一些有趣的事, 但我不知道它是如何做到的。
int main(int argc, const char * argv[])
{
char text[] = "object";
for(char *ptr = &text[0]; *ptr != ; ptr+=2)
{
cout << ptr << endl;
ptr--;
}
return 0;
}
所发生的事情是,它从[1]、[2]、[3]等等,一直到字符串的尽头,每次打印内容。我不明白它是如何做到的,因为指针从未被贬低过,但正确的字母似乎正在被打印。我假设,指针的值将不是字符串的字母,而是作为怪异的字符打印,但是,这并没有发生。