下面程序段执行后输出的结果是( ) #include main() {int a[2][2]={{1,2},{3,4}},*p,i; p=&a[0][0]; for(i=0;i

admin2016-12-25  28

问题 下面程序段执行后输出的结果是(    )
    #include
    main()
    {int a[2][2]={{1,2},{3,4}},*p,i;
    p=&a[0][0];
    for(i=0;i<2;i++)
    *p++=i+1;
    printf("%dr,,*(p -2));
  }

选项 A、4
B、2
C、3
D、l

答案D

解析 p=&a[0][0],指针指向’1’,*p++=i+1;取值运算符*和++的优先级相同,右结合性,即* (p++)=i+1,先执行*p=i+l,然后指针移向下一个元素p ++,当i=2时,循环停止,此时指针指向’3’,(p-2)指针移回’1’处,所以输出’1’。
转载请注明原文地址:https://kaotiyun.com/show/CjAx777K
0

最新回复(0)