鱼C论坛

 找回密码
 立即注册
查看: 1020|回复: 2

[已解决]指针与数组

[复制链接]
发表于 2023-6-8 10:41:26 | 显示全部楼层 |阅读模式
1鱼币
设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(   )
   A).k=*P1+*P2;   B).p2=k;   C).P1=P2;   D).K=*P1 * (*P2);
最佳答案
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 是不能正确执行的语句。

最佳答案

查看完整内容

在 C++ 中,指针是用来存储内存地址的变量。在这个问题中,P1 和 P2 是指向同一个 int 类型一维数组的指针。k 是 int 型变量。根据这些信息,我们可以对每个选项进行分析: A) k = *P1 + *P2; 这个表达式是合法的,*P1 和 *P2 都返回数组的第一个元素的值,然后将这两个值相加,将结果赋值给 k。 B) P2 = k; 这个表达式是不正确的,因为 P2 是一个指针,只能存储内存地址,而 k 是一个 int 型变量,其值并非内存地址。除非 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 是不能正确执行的语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-8 11:01:48 | 显示全部楼层
插眼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 05:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表