首页 > 试题广场 >

若有定义int a=0xff198202, int *p=&

[单选题]
若有定义int a=0xff198202, int *p=&a;则*p的值是:
  • 变量p的地址值
  • 无意义
  • 常量a的地址值
  • 4279861762
这个 a 符号位是1,肯定是负数,,这答案是错的,应该是-15105534
发表于 2024-03-24 14:54:27 回复(0)
int a = 0xff198202; 表示定义了一个整型变量 a,其十六进制值为 0xff198202,对应的十进制值为 4279861762。
int *p = &a; 表示指针 p 存储的是变量 a 的地址,而 *p 是对指针的解引用操作,即 获取 a 的值(而非地址)。
选项分析:
A 错误:*p 是 a 的值,而非指针 p 的地址。
B 错误:*p 有明确意义,即访问 a 的值。
C 错误:*p 是 a 的值,而非 a 的地址(&a 才是地址)。
D 正确:0xff198202 转换为十进制即为 4279861762。
综上,*p 的值是 4279861762,对应选项 D。
发表于 2025-02-26 02:11:16 回复(1)