7、对数组元素的正确引用是:C、'p[a]'。

给定的说明语句中,定义了一个整型数组 'a' 和一个指针 'p',并将指针 'p' 指向数组 'a' 的首元素。

在 C 语言中,数组名可以被解释为指向数组首元素的指针。因此,'*p' 和 'a' 是等价的。

根据以上分析,对数组元素的正确引用可以是 'p[a]'。

8、非法的赋值语句是:C、'p=n'。

给定的说明中,定义了一个整型变量 'n',一个指向 'n' 的指针 'p',以及一个指向 'p' 的指针 'q'。

在选项中,A选项 '*p=*q' 是合法的,表示将 'q' 指针所指向的值赋给 'p' 指针所指向的位置。

B选项 'n=*q' 也是合法的,表示将 'q' 指针所指向的值赋给 'n'。

D选项 'p=q' 也是合法的,表示将 'q' 指针的值赋给 'p' 指针。

而C选项 'p=n' 是非法的,因为 'p' 是一个指针,不能直接赋一个整型变量的值给指针。

因此,非法的赋值语句是C选项。

9、正确的赋值语句是:A、'a = (b = c) + 1;'。

在给定选项中,A选项 'a = (b = c) + 1' 是合法的,表示将 'c' 的值赋给 'b',然后将 '(b = c) + 1' 的值赋给 'a'。

B选项 '(a = b) = c = 1' 是非法的,因为将 'c' 的值赋给 'a',然后将 'a' 的值赋给 'b',再将 '1' 的值赋给 'c',赋值语句中 'a' 不能作为左值。

C选项 'a = (b == c)= 1' 是非法的,因为 '(b == c)' 的结果是一个布尔值,不能作为左值进行赋值操作。

D选项 'a + b = c' 是非法的,因为 'a + b' 的结果是一个值,不能作为左值进行赋值操作。

因此,正确的赋值语句是A选项。

C语言指针与数组:正确引用、赋值语句解析

原文地址: https://www.cveoy.top/t/topic/FtQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录