華爲的一道C語言面試題

設int arr[]={6,7,8,9,10};

int *ptr=arr;

*(ptr++)+=123;

printf("%d,%d",*ptr,*(++ptr));

答案是:8,8

 

分析:

*(ptr++)+=123;
解釋爲:*(ptr++)=*(ptr++)+123   //數組第一個元素變爲6+123

           然後prt++   指向7

printf("%d,%d",*ptr,*(++ptr));

只能解釋爲 printf函數從右到左開始處理,所以答案都是8,8

發佈了24 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章