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 不是他的值,而是地址,至于为什么不用&也能得出,这我不大清楚,望各位大神指正。
如图,这个问题 我没有用机器输入之前完全不知道并且选择了一个错误的大难(很尴尬),做完后因为心存疑问打开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函数的理解
- C语言中printf格式化输出函数
- C语言中printf()函数格式输出
- 【C语言天天练(十六)】字符串输出函数puts、fputs和printf
- C语言的printf函数(格式输出函数)
- C语言中printf格式化输出函数
- C语言输出函数(printf)和输入函数(scanf)
- C语言中printf格式化输出函数
- C语言基本的输入和输出函数(printf()和scanf() )
- C语言中printf格式化输出函数(转载)
- printf函数使用—针对不同数据类型的输出结果详解
- C语言的printf函数以从右到左的顺序输出,每个数据项可以进行算术但各自互不影响
- c语言输入与输出库函数#include<stdio.h>
- C语言的printf函数(格式输出函数)
- C语言中printf函数自增自减、入栈和输出关系。
- C语言中printf格式化输出函数
- C语言中printf格式化输出函数
- (C语言-结构体)主函数创建5个学生的数组,写一个排序函数,让学生按姓名从小到大排序,主函数输出排序后的结果。
- C语言中printf格式化输出函数
- C语言中printf格式化输出函数