当前位置: 代码迷 >> C语言 >> [求助]关于C
  详细解决方案

[求助]关于C

热度:12   发布时间:2007-11-07 21:14:51.0
[求助]关于C
程序
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n",p+9);
}
中有两个printf(),如果第一个printf()输出的是194,则第二个printf()输出的是?
----------------解决方案--------------------------------------------------------
这跟你的计算机字长有关
----------------解决方案--------------------------------------------------------

输出的十六进制地址值.


----------------解决方案--------------------------------------------------------
如果int为2,则地址就是194+12(2*9)=1A6
----------------解决方案--------------------------------------------------------
194是十六进制吗?
----------------解决方案--------------------------------------------------------
%x


----------------解决方案--------------------------------------------------------
那怎么是:194+12(2*9)是有什么算法吗?
----------------解决方案--------------------------------------------------------
我直接在十六进制下加的.
----------------解决方案--------------------------------------------------------
回复:(mebol)那怎么是:194+12(2*9)是有什么算法...
2*9=18,用l6进制表示是12

----------------解决方案--------------------------------------------------------
哦,蒙蒙懂懂,有简单的算法吗?
我是菜鸟,请包含……
----------------解决方案--------------------------------------------------------
  相关解决方案