华为的一道C语言面试题

    技术2022-06-12  62

    设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


    最新回复(0)