3 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
假設(shè)ptr指向數(shù)組的第i個(gè)元素arr。
*ptr++求值arr[i]并設(shè)置ptr為指向的第(i + 1)個(gè)元素arr。它相當(dāng)于*(ptr++)。
*++ptr設(shè)置ptr為指向的第(i + 1)個(gè)元素arr并進(jìn)行求值arr[i+1]。它相當(dāng)于*(++ptr)。
++*ptr增加arr[i]1并評(píng)估其增加的價(jià)值; 指針ptr保持不變。它相當(dāng)于++(*ptr)。
還有一個(gè),但你需要括號(hào)來寫它:
(*ptr)++增加arr[i]1并在增加之前評(píng)估其值; 指針ptr再次保持不變。
其余的你可以弄清楚自己; @Jaguar也回答了這個(gè)問題。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
*ptr++ : post increment a pointer ptr
*++ptr : Pre Increment a pointer ptr
++*ptr : preincrement the value at ptr location
閱讀此處有關(guān)預(yù)增量和后增量運(yùn)算符的信息
這將 Hello作為輸出
int main()
{
const char *p = "Hello";
while(*p)
printf("%c",*p++);//Increment the pointer here
return 0;
}
- 3 回答
- 0 關(guān)注
- 1440 瀏覽
添加回答
舉報(bào)