您的位置:首页 > 编程语言 > C语言/C++

C语言stdio.h中printf函数输出‘12’结果理解

2016-11-27 13:12 309 查看
我学习C语言有3个月了,前几天刷基础题的时候遇见一个很有意思的题目



如图,这个问题 我没有用机器输入之前完全不知道并且选择了一个错误的大难(很尴尬),做完后因为心存疑问打开vc6.0试了一下,没想到结果是12594,这真的是怎么也不能想到啊(我的智商来说的,大神无视)。。。。。

后来经尝试,我输出‘1’的结果是49,‘2’的结果是50,‘9的结果’是57,也就是相对应的ASCII码了。

我在‘12’中间加了一个/也就是‘/12’ 此时输出的结果为10,这个很好理解,也就是‘/12’是8进制,转换成10进制输出就行了。

再次回头分析‘12’   1的ASCII码对应是49,2对应的是50,再把1转换为16进制是31,2转换为16进制是32 连起来就是3132了,再把3132转换成十进制用来输出,结果如上12594,那么为什么会这样?

因为本人也是新手,所以推测原因如下:12594 不是他的值,而是地址,至于为什么不用&也能得出,这我不大清楚,望各位大神指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 printf vc 计算机