<span style="font-size:24px;">void main()
{
char *str = "title china is big";
char *p = str;//存儲首地址
while(*str)
{
putchar(*str);
str++;
}
system(p);
printf("\n%s",*str);
system("pause");
}</span>
*p = str時,p跟str指向同一個位置,當str++時,會容易誤以爲此時*p 與 *str 還是相等的。這是因爲受之前 基本類型變量的地址賦值給指針的影響,以爲 這裏跟 int a = 3,int *p = &a,此時 若 *p = 4,則a 也等於4。其實這裏是不一樣的,當str++時,指針str 就會向前移動,p還在原來的位置。所以,此時system(p)能正確運行,system(str)是不能正確運行的。