i++

以下代码的输出结果是什么?

#include <stdio.h>

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

答案:8 8

分析:C语言中printf();计算参数时是从右向左压栈中 ;注意ptr++是后执行的即先执行*ptr += 123 然后再 ptr=ptr+1;

posted @ 2015-11-02 14:47  fcq1129  阅读(146)  评论(0)    收藏  举报