#include "stdafx.h"
#include<stdlib.h>
int main(int argc, char* argv[])
{
char* inWords="I love China";
char* newWords=(char*)malloc(sizeof(inWords)+1);
char* p=inWords;
char* last;
int length=0;
while(*inWords!='\0')
{
p=inWords;
p++;
inWords++;
length++;
}
p--;
while(length>=0)
{
newWords=p;
newWords++;
p--;
length--;
}
printf("%s", newWords);
system("pause");
}
上述代码,最后输出的结果任然是I love China。
字符串指针指向的是一个字符的开始地址, p为inWords末尾指针,指向' \0', p-2为inWords倒数第二个指针,指向'n',但是最后也是'a','\0'。 因此p-2是指向一个以n开头的字符串,即 (p-2)-> 'na\0'