tttttt@@@@@@ 发表于 2023-6-8 10:41:26

指针与数组

设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(   )
 A).k=*P1+*P2;   B).p2=k;   C).P1=P2;   D).K=*P1 * (*P2);

isdkz 发表于 2023-6-8 10:41:27

在 C++ 中,指针是用来存储内存地址的变量。在这个问题中,P1 和 P2 是指向同一个 int 类型一维数组的指针。k 是 int 型变量。根据这些信息,我们可以对每个选项进行分析:

A) k = *P1 + *P2;这个表达式是合法的,*P1 和 *P2 都返回数组的第一个元素的值,然后将这两个值相加,将结果赋值给 k。

B) P2 = k; 这个表达式是不正确的,因为 P2 是一个指针,只能存储内存地址,而 k 是一个 int 型变量,其值并非内存地址。除非 k 存储的是一个内存地址,否则这个表达式会引发错误。

C) P1 = P2; 这个表达式是合法的,因为 P1 和 P2 都是指针,可以进行赋值操作。

D) K = *P1 * (*P2); 这个表达式也是合法的,同样 *P1 和 *P2 都返回数组的第一个元素的值,然后将这两个值相乘,将结果赋值给 k。

所以选项 B 是不能正确执行的语句。

houqing1999 发表于 2023-6-8 11:01:48

插眼
页: [1]
查看完整版本: 指针与数组