*p++的運算順序

在論壇上看到這樣一道筆試題:

以下程序輸出結果是: 
  
#include <stdio.h> 
  
int main() 
{ 
int cnt = 10; 
char *p = "welcome"; 
while(*p++) 
{ 
cnt++ 
} 
printf("%d/n", cnt); 
} 
  
答案:17 

我剛開始的理解是先進行++運算,然後取其值,得到結果是16.

其實真正的運算順序應該是:先取出p的值,再進行++運算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章