设有如下的说明和定义 struct { int a; char *s; } x, *p = &x; x.a = 4; x.s = "hello"; 则以下叙述中正确的是

admin2020-06-16  24

问题 设有如下的说明和定义
    struct {
        int a;
        char *s;
    } x, *p = &x;
    x.a = 4;
    x.s = "hello";
则以下叙述中正确的是

选项 A、(p++)->a与p++->a都是合语法的表达式,但二者不等价
B、语句 ++p->a; 的效果是使p增1
C、语句 ++p->a; 的效果是使成员a增1
D、语句 *p->s++; 等价于 (*p)->s++;

答案C

解析 本题考查结构体变量的引用,运算符->的优先级高于++,选项A中两表达式等价,效果都是访问了p所指变量中的a成员之后,指针p再增1,所以选项A错误。++p->a的效果是使成员a增1,选项B错误,选项D不是正确的C语言语句。答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/u7Cp777K
0

相关试题推荐
最新回复(0)