有以下程序: #include struct tt {int x;struct tt*y;}s[2]={1,0,2,0}; main() { struct tt*P=8; P一>y=s; print

admin2016-04-07  29

问题 有以下程序:
    #include
    struct tt
    {int x;struct tt*y;}s[2]={1,0,2,0};
    main()
    {  struct tt*P=8;
    P一>y=s;
    printf("%d",++p—>X);
    }  
    程序运行后的输出结果是(    )。
    (A)2    (B)0    (C)1    (D)3

选项 A、2
B、0
C、1
D、3

答案A

解析 *p=s,可得p指向s[0],p一>y指向s[1],现p一>y=s,因此p一>y指向s[0]。因此p一>x=1,++p一>x等价于++(p一>x),因此打印结果为2。答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/mtDp777K
0

最新回复(0)