永发信息网

C语言的题目高手帮忙解释下 printf ("%d\n",p);printf ("%d\n",p+9);

答案:5  悬赏:50  手机版
解决时间 2021-01-29 23:33
  • 提问者网友:你挡着我发光了
  • 2021-01-29 18:51
C语言的题目高手帮忙解释下 printf ("%d\n",p);printf ("%d\n",p+9);
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-01-29 19:57
显然不可能是选D,输出的是十进制数
应该是选A
194+2*9==212
全部回答
  • 1楼网友:鱼芗
  • 2021-01-29 21:53
输出的都是指针的值。
p+9,由于p是int型指针,int占两个字节,p+9的值比p的值多2*9=18
正解应是 A 212
由于题目已经说了int为2字节,你调试的机器上int是4字节,所以会差36
  • 2楼网友:平生事
  • 2021-01-29 21:30
Tubor c中int为2个字节,现在很多C环境中int为4字节,比如VC++6.0
  • 3楼网友:煞尾
  • 2021-01-29 21:24
我们计算机自己运行这道题的时候一个int型是4个字节,所以移动9位是36字节。本题的int应该是两个字节,所以移动9位是18字节。
十进制的18换算成16进制是0x12,加上194就是0x194+0x12=0x1a6
  • 4楼网友:酒安江南
  • 2021-01-29 20:21
这玩意打印的是指针,a是个int型的数组,他这里说int占2个字节,那p+9就是往右走了18个字节,当然这个194是十六进制显示的,你加个18看看等于几。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯