« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
公告 |
My blog is about my major : network security.the most papers are talk about it ,I like my major ,i wish you could find what's you need in it. |
统计 |
blog名称:我的IT人生 日志总数:78 评论数量:185 留言数量:-1 访问次数:523886 建立时间:2006年4月5日 |
| 
|
本站首页 管理页面 写新日志 退出
[C/C++]关于printf的另类用法 |
main(){ char a[]="a"; char b='b'; int c=0x12ff7c; printf("%x\n",a); //输出 12ff7c printf("%c\n",a); //输出 | printf("%d\n",b); //输出 98 printf("%c\n",b); //输出 b printf("%c\n",c); //输出 | printf("%x\n","wefd"); //输出 ? printf("%c\n","dfdfd"); //输出 ? printf("%c\n","fd"); //输出 ? printf("%c\n","jku"); //输出 ? int aa=020,ba=0x10; printf("%d\n",aa); //输出16 printf("%d\n",ba); //输出16
}
1, a是一个数组,所以a为地址,即0x12ff7c,所以%c输出时为将该地址当成单个字符处理,即对地位的0x7c以%c格式输出,即输出“|”(因为|的ASCII码是0x7C)。2, b是一个字符,所以b在内存中为b的ASCII码98,所以很好理解为什么输出的是98 和b。3, c是一个数字,0x7c为低位,所以输出0x7c的ASCII码"|"。4, 最后四个为将字符串以%c的格式输出,输出为“?”,不知道该如何理解。。。。。。
5,aa和ba一个是8进制一个是16进制。
|
阅读全文(1869) | 回复(0) | 编辑 | 精华 |
|