C语言中,printf输出字符串(“字符型数据:% C\n\n ,c”)换行符\n为什么有两个?一个不行吗?

已解决问题
C语言里,\v是什么意思?
提问时间: 07:04:49
C语言里,\v是什么意思?
浏览次数:7700
该答案已经被保护
转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS)008\f换页(FF)012\n换行(LF)010\r回车(CR)013\t水平制表(HT)009\v垂直制表(VT)011\\反斜杠092\?问号字符063\'单引号字符039\&双引号字符034\0空字符(NULL)000\ddd任意字符三位八进制\xhh任意字符二位十六进制字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。则将这些数字看成8进制所以在C中有如下用法\是转义标识符;012代表ASCII码为10的字符\t制表符(tab)&#92包含在双引号里的反斜杠&#92,接下来的字符被转义,它告诉编译器,如果接下是数字字符;n相当换行&#92。换行符是控制输出设备另起一行的,没法显示。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题已解决问题
C语言中\r是什么意思?和\n有什么区别
提问时间: 20:35:36
C语言中\r是什么意思?和\n有什么区别
浏览次数:8577
该答案已经被保护
是老式写法;%d&是输出整数后换行,&quot&quot。n&表示要输出一个整型数;d&#39,最后是字符&&#92,然后是个字符&#39,如%d表明要输出一个整型数;;即换行符,接着是字符&#39,其他都是直接输出;n&#39。&%d&#92百分号后面跟数据输出类型符。输出一个回退键(即相当于按一下键盘上的一个BACKSPACE键即回退键)。b1&\t&#92,再输出1,相当于先输出一个tab键然后一个退格键(删除了前面的tab键);执行这条语句时printf(&quot。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题转贴:#你知道么# 刚刚看到一个很有意思的问题:char c = -1; prin...【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:582,077贴子:
转贴:#你知道么# 刚刚看到一个很有意思的问题:char c = -1; prin...收藏
帮我选一下答案吧....char c = -1; printf(&%x\n&,c);为什么是ffffffff而不是ff?printf(&%x\n&,c); -- 转为long int 16进制输出. ff 输出:#include &stdio.h&int main(){char c = -1; printf(&转自:
char c = -1; printf("%x\n",c);为什么是ffffffff而不是ff?1 小时前提问者: 7933419 |
悬赏分:30 |浏览次数:144次如题:char c = -1; printf("%x\n",c);为什么是ffffffff而不是ff?问题补充:我似乎明白了,但是选答案好纠结。。处理提问 及时采纳满意回答并感谢回答者,可获得2分经验值奖励。 还可以补充内容或提高悬赏吸引更多回答者:补充问题修改分类提高悬赏在线求助按默认排序|按时间排序 回答 共6条1 小时前金色潜鸟| 当前分类:23 级 排名:36printf("%x\n",c); -- 转为long int 16进制输出。 ff 输出:#include &stdio.h&int main(){char c = -1; printf("%x\n",(unsigned char) c);
//ff 输出printf("%x\n",0xff & c);
//ff 输出return 0;}追问我的天,我又懵了,到底是转为long int还是int呀,前面都说是int。不过抛开这个不说,能解释一下:printf("%x\n",(unsigned char) c);还有printf("%x\n",0xff & c);这个是不是只是为了输出ff而做的?解释一下为什么这样就可以是原始值了吧,谢谢!回答long int -- 4字节printf("%x\n",(unsigned char) c);
// 强制转化为 原1字节定义。printf("%x\n",0xff & c);
只需要1字节,可以用 按位与 运算 取出来。0|评论(6)); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&选为满意回答); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&继续追问49 分钟前Jaxenix| 当前分类:7 级类型提升, short和char都会提升到int,要查看原值, 你可以自己写个print_bytes函数typedef unsigned char *byte_void print_bytes(byte_pointer start, int len){
for(i = 0; i& i++){
printf(" %.2x",start[i]);
printf("\n");}调用就用 print_bytes((byte_pointer)&c,sizeof(char)), 这个函数对其他类型也适用...只是打印char的话直接用printf(" %.2x",(unsigned char)c);也行追问类型提升, short和char都会提升到int。。。这个我知道,不过这点是强调的是如果参与运算了,就会那样。但是我本意就不让其参与运算,还有这涉及不涉及内存对齐呢?回答你用%x打印char, 就是在让它参与运算啊, 因为%x是打印int, 当然会把char转换为int不然你就用printf(" %.2x",(unsigned char)c); %.2x就是打印两位16进制这个不涉及内存对齐..0|评论); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&选为满意回答); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&继续追问29 分钟前kuliuheng| 当前分类:2 级好吧,哥哥,您的追问精神让我感动了,小弟斗胆献上一计,请君笑纳: (1)就用VC++6.0建立一个C++工程吧,写上如下代码:(2)然后按下键盘上的F10,进行单步调试运行,右键单击代码区,在弹出的菜单中选择“Go To Disassembly” 进入汇编代码模式:(3)可以看到c的真实内存值哦~!
小弟献丑了~! ^ ^0|评论(1)); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&选为满意回答); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&继续追问1 小时前陈宗权| 当前分类:21 级 排名:125因为%x是用来输出一个int类型的数据的。在你调用printf传递变量c的值的时候,系统会自动把c的值-1扩展成int类型的值-1,这也是C语言中的一个规定.追问就想看看c的真实的值?就有重重困难吗?有没有办法,谢谢回答有啊,printf("%x\n",c);改成printf("%x\n",(unsigned char)c);追问这有解释吗,unsigned char?我不理解为什么会用到它,我本意是不运算,不强制转换就看c的真实值,你这个做法是可以显示出ff了,但意义一样不一样呀,我可不可以说printf(“ff”);也可以打印出ff。真心求解,别无它意。0|评论); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&选为满意回答); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&修改追问检举|1 小时前微小单片机| 当前分类:8 级%x是显示补码的,-1补码32个1,就是ffffffff,要想显示ff应该是255追问看前两位的回答,感到你说的有所不足之处:我知道是补码,但是我用的char型的,补也应该是ff呀,一个字节嘛。来自:求助得到的回答0|评论(1)); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&选为满意回答); background-color: background-position: 100% -682 background-repeat: no-repeat no- "&修改追问1 小时前ssgo66| 当前分类:12 级 排名:4747%x是int型,所以会将char强转为int追问怎么打印才能不涉及运算和强制转换呢?就想看看c的真实的值?
登录百度帐号扫一扫体验手机阅读
二 C语言基本数据类型和运算符
<span type="1" blog_id="1285495" userid='
分享到朋友圈
关注作者,不错过每一篇精彩已解决问题
在c语言中输出 printf(&\t\&) 中\t\ 是什么意思
提问时间: 19:16:04
在c语言中输出printf(&\t\&)中\t\是什么意思
浏览次数:8674
该答案已经被保护
则将这些数字看成8进制所以在C中有如下用法\是转义标识符;012代表ASCII码为10的字符\t制表符(tab)&#92包含在双引号里的反斜杠&#92,接下来的字符被转义,它告诉编译器,如果接下是数字字符;n相当换行&#92。换行符是控制输出设备另起一行的,没法显示。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题

我要回帖

更多关于 c printf 字符串 的文章

 

随机推荐