C语言指针与数组:正确引用、赋值语句解析
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选项。
原文地址: https://www.cveoy.top/t/topic/FtQ 著作权归作者所有。请勿转载和采集!