题目
若有以下说明和语句:struct worker( int no;char name;)work; p=&work;则以下引用方法不正确的是____.A. work.noB. p.noC. p->noD. work->no
若有以下说明和语句:struct worker{ int no;char name;}work; p=&work;则以下引用方法不正确的是____.
A. work.no
B. p.no
C. p->no
D. work->no
题目解答
答案
D. work->no
解析
步骤 1:理解结构体定义
结构体定义为 `struct worker { int no; char name; }`,其中 `no` 是整型变量,`name` 是字符型变量。
步骤 2:理解结构体变量和指针
定义了一个结构体变量 `work`,并定义了一个指向 `work` 的指针 `p`,即 `p = &work`。
步骤 3:分析引用方法
A. `work.no`:直接引用结构体变量 `work` 的成员 `no`,这是正确的。
B. `p.no`:尝试引用指针 `p` 的成员 `no`,这是错误的,因为 `p` 是指针,不是结构体变量。
C. `p->no`:通过指针 `p` 引用结构体变量 `work` 的成员 `no`,这是正确的。
D. `work->no`:尝试通过结构体变量 `work` 引用成员 `no`,这是错误的,因为 `work` 是结构体变量,不是指针。
结构体定义为 `struct worker { int no; char name; }`,其中 `no` 是整型变量,`name` 是字符型变量。
步骤 2:理解结构体变量和指针
定义了一个结构体变量 `work`,并定义了一个指向 `work` 的指针 `p`,即 `p = &work`。
步骤 3:分析引用方法
A. `work.no`:直接引用结构体变量 `work` 的成员 `no`,这是正确的。
B. `p.no`:尝试引用指针 `p` 的成员 `no`,这是错误的,因为 `p` 是指针,不是结构体变量。
C. `p->no`:通过指针 `p` 引用结构体变量 `work` 的成员 `no`,这是正确的。
D. `work->no`:尝试通过结构体变量 `work` 引用成员 `no`,这是错误的,因为 `work` 是结构体变量,不是指针。