面试题目(一)

今天看到一道比较奇葩的面试题目

#include <stdio.h>

void main()
{
    int b = 3;
    int arr[] = {6 , 7 , 8 , 9 , 10};
    int *ptr = arr;
    *(ptr++) += 123;
    printf( "%d, %d\n", *ptr, *(++ptr) );
}

 

答案不是我想的“7, 8”居然是“8 , 8”

最后给出的解释是printf( "%d, %d\n", *ptr, *(++ptr) );这一行是从右往左编译,所以ptr已经++了

  

posted on 2015-03-30 15:22  金融挨踢狗  阅读(127)  评论(0)    收藏  举报