c语言的题目,第十八题怎么做
展开全部
这道题的答案 应等于 0xffc2 + 9 * sizeof(int);
声明了 int 型指针*p, 初始化 *p=a; 也就是指向了 a数组的始地址 &a[0];
printf("%x\n",p); 按16进制输出了 &a[0];
printf("%x\n",p+9); 按16进制输出了 &a[0] + 9 * sizeof(int);
古老的计算机, int 型 被处理成 short int, 字长2字节,0xffc2 + 9 * sizeof(int) = 0xffc2 +18 = 0xffd4, 答案 为 B. ffd4.
MS VC++ 和 现在的大部分 计算机 int 型 被处理成 long int, 字长4字节, 输出应为0xffc2+36 = ffe6,那么待选的4个答案中 没有一个 可选啦。
声明了 int 型指针*p, 初始化 *p=a; 也就是指向了 a数组的始地址 &a[0];
printf("%x\n",p); 按16进制输出了 &a[0];
printf("%x\n",p+9); 按16进制输出了 &a[0] + 9 * sizeof(int);
古老的计算机, int 型 被处理成 short int, 字长2字节,0xffc2 + 9 * sizeof(int) = 0xffc2 +18 = 0xffd4, 答案 为 B. ffd4.
MS VC++ 和 现在的大部分 计算机 int 型 被处理成 long int, 字长4字节, 输出应为0xffc2+36 = ffe6,那么待选的4个答案中 没有一个 可选啦。
追问
谢谢!懂了!但是最佳答案给错了。。没给你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询