printf中 "%5.5d"printf n 是什么意思思?

转贴:#你知道么# 刚刚看到一个很有意思的问题:char c = -1; prin..._c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:271,646贴子:
转贴:#你知道么# 刚刚看到一个很有意思的问题: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的真实的值?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或scanf是什么意思_百度知道
scanf是什么意思
即按用户指定的格式从键盘上把数据输入到指定的变量之中;cin (c++); read two integers&gt,%d&quot。 scanf(&scanf(&int x, y, &x);& read one integer&#61692, &b);/ &#47, &x;; read one integer&#61692。它是格式输入函数; &#47, &y), &x)&#61656,都被定义在, &y);/ scanf (c)&#61692.h里,因此在使用scanf函数时要加上#&#47,那么scanf的返回值就是2如果只有a被成功读入,/&gt, &x;scanf(&quot, &a,返回值为EOF,它从标准输入设备(键盘) 读取输入的信息。且返回值为int型;scanf(&cin &%d&&#61692,返回值为1如果a和b都未被成功读入; //如果a和b都被成功读入; read two integersscanf函数;/ &#47.Basic functions%d; x & &#47,与printf函数一样; read one integer;%d %d&%d %d&scanf(&%d& &#47,返回值为0如果遇到错误或遇到end of file,其关键字最末一个字母f即为“格式”(format)之意。 scanf()函数是格式化输入函数;; scanf (c)cin &gt
其他类似问题
按默认排序
其他4条回答
直接说就是从键盘取值给某个变量。专业点说就是通过通过在键盘上按键来给某个变量赋值
其实吧,来这里问,不如去百度百科搜这个函数。
是输入函数!也就是保证向电脑输入你所想输入的数的函数!
是输入的意思
scanf的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁printf(&%-10ld%-10s%d &,num,stname,score);中%-10ld什么意思_百度知道
printf(&%-10ld%-10s%d &,num,stname,score);中%-10ld什么意思
提问者采纳
%-10ld -指示右对齐
10表示显示最大长度 ld表示长整形
提问者评价
谢谢,那左对齐怎么表示。然后什么叫右对齐
其他类似问题
printf的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁哪位大侠帮帮我看看这里面的str_aver[i]=strtok(NULL,str);是什么意思?_百度知道
哪位大侠帮帮我看看这里面的str_aver[i]=strtok(NULL,str);是什么意思?
短信内容; char *str_aver[4],&quot,str_aver[i]);};n&时间;
char *text[3]={&,text[i];void strtok1(){ int i=0; char name[100]={&来电号码;i&
str_aver[i]=strtok(name,&;;
str_aver[i]=strtok(NULL,str)!= NULL) {
i++; while(str_aver[i] ;,&i++)
printf(&quot,今天天气挺好&quot,str);%s %s&#92:&quot:&:&3; } for(i=0;},; char *str=&quot
, delims ); char *result = NULL。之后所以的&quot为了将字符串转换成标记,第一次调用str1 指向作为标记的分隔符; result = strtok(#&quot
其他类似问题
strtok的相关知识
按默认排序
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 printf n 是什么意思 的文章

 

随机推荐