# include <stdio.h>
int main(void)
{
char str[] = "VC++";
int i;
for(i=0; i<4; i++)
printf("%s\n", &str[i]);
return 0;
}/*
----------------
VC++
C++
++
+
----------------*/
首先, str[]="vc++"; 语句执行后内存中保存的是 'v' 'c' '+' '+' '\0' 5个字符,'\0'是字符串结束标记。
其次,%s是输出一个字符串的意思,故它要求一个内存地址,从这个地址开始,输出串,直到遇到'\0'为止。
还有,str[i]是一个字符变量,&str[i]就是这个变量的地址。 (准确的说是指针)
结合上面,就不难得出结果了,结果是:
printf("%s\n",&str[0]);是 vc++
printf("%s\n",&str[1]);是 c++
printf("%s\n",&str[2]);是 ++
printf("%s\n",&str[3]);是 +