*p++的运算顺序

在论坛上看到这样一道笔试题:

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

我刚开始的理解是先进行++运算,然后取其值,得到结果是16.

其实真正的运算顺序应该是:先取出p的值,再进行++运算。

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