若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。 ①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。 ②若指针s指向存

admin2010-06-06  42

问题 若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。

①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【  】。
②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【  】。

选项

答案s=p+3; 2

解析 若p指向了a[1],则p+3将指向其后的第3个元素a[4],把它赋值给s,s就指向了a[4],所以第1空填“s=p+3;”。由于s指向了a[2],p指向了a[0],s和p为指向同一个数组元素的指针变量,它们的差为它们指向元素的下标差值(即间隔多少个元素),所以“s-p”的结果为2。
转载请注明原文地址:https://kaotiyun.com/show/k0jp777K
0

最新回复(0)