为什么logcat没有输出结果为什么

你好,我不知道为什么这个输出的结果会是这样?请朋友们给我解释一下好吗?
#include &stdio.h&
void main()
{
scanf("%d",&b);
while(b--)
printf("%d\n",a++*2);
输出的结果:
5
0
2
4
6
8
Press any key to continue
为什么会输出这些数字。
一楼回答部分正确,我们先需要明白a++和++a的区别
a++的意思是:先用a的现在值进行表达式计算,表达式计算完成后,将a增加1
++a则是现将a增加1,然后带入表达式计算
(1)a=1;b=a++*2;
系统首先计算b的值,此时a=1,因此b=1*2=2;
然后将a增加1,此时:a=2
最终结果:a=2;b=2
(2)a=1;b=++a*2
系统首相将a增加1,此时a=2
然后计算:b=2*2=4
计算结果:a=2;b=4
现在你就可以理解运行结果了
其他***(共1个回答)
会先计算a++的值然后乘以2,第一回a++后a的值为0,所以第一次循环输出结果为0,每次循环都是乘于2,所以结果递增直至输出8结束
  你注意到了吗,你在看此页时,屏幕右侧有一个栏目“用户信息”中就有“我的提问”一栏,你点击进去即可看到。
  当然,要预先登陆的哟。
当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长决定光的颜色,是...
在我的淘宝里找已买到的宝贝,里面列出了所有你已经购买的宝贝,找到已经收到货的那个,点击确认收货.
白色是因为蛋白质没有充分吸收就被排除了体外,须注意。
LZ的代码的确有问题,但是仍然会运行结束,只不过在界面上没有任何输出罢了,因为没有满足输出的任何一个条件。
1、首先变量x和y声明类型最好为int整型,因...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 9689 人关注过本帖
标题:请问printf语句中的%ld何%d为什么会输出不同的结果???????????? ...
来 自:惠州
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:11&&&
请问printf语句中的%ld何%d为什么会输出不同的结果????????????
printf语句中的%ld何%d为什么会输出不同的结果
#include &stdio.h&
#include&math.h&
int min(int a,int b )
&return(c);
{int x,y,z,s,d,w,i;
&scanf(&%d,%d,%d&,&x,&y,&z);
&d=min(x,min(y,z));
&printf(&%d\n&,d);
&printf(&%d\n&,w);
&for(i=d;i&=w;i++)
&if(i%x==0&&i%y==0&&i%z==0)
&printf(&%d\n%d\n%d&,w,i,d);
&&getch();
}但是把输出语句改为printf(&%ld\n%d\n%d&,w,i,d);就不行呢?????????
搜索更多相关主题的帖子:
等 级:蝙蝠侠
帖 子:251
专家分:975
搞错了 !!!恩,长整型
[ 本帖最后由 jcslt 于
19:45 编辑 ]
等 级:业余侠客
帖 子:91
专家分:210
我测试过了,结果一样的啊.%1d这里的是站的位数为1,没什么影响的.
来 自:石家庄
等 级:论坛游民
帖 子:48
专家分:52
%d是按十进制整型数据的实际长度输出的,%ld输出的是长整型数据。
好好学习,誓死学好专业!!!
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
%lf才是双精度吧!&&&%ld代表长整形
等 级:蜘蛛侠
帖 子:231
专家分:1038
但是把输出语句改为printf(&%ld\n%d\n%d&,w,i,d);就不行呢????????
因为你定义的 w 是int类型,而输出为%ld 长整型,类型不同,当然会出错···
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
%ld是长整形嘛....
等 级:新手上路
那个是L吧?
一个是整形,一个是长整形,不一样也正常的啊
来 自:社会
等 级:论坛游民
帖 子:45
专家分:33
呵呵……还要多啃点书
等 级:新手上路
哎,基础出了点问题............
版权所有,并保留所有权利。
Powered by , Processed in 0.062562 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reservedfdisk -l 输出结果怎么解读
我的图书馆
fdisk -l 输出结果怎么解读
linux 中fdisk -l 输出结果怎么解读,最近在网上看到一篇文章,觉得写得比较清楚,特此转载以便参考:注意:执行fdisk -l,必须得root用户权限,否则,你键入指令后可能啥都不会出现。  关于fdisk -l 一些数值的说明;  Disk /dev/hda: 80.0 GB,
bytes  255 heads, 63 sectors/track, 9729 cylinders  Units = cylinders of 16065 * 512 = 8225280 bytes  这个硬盘是80G的,有255个磁面;63个扇区;9729个磁柱;每个 cylinder(磁柱)的容量是 8225280 bytes= K(约为)=8.225280M(约为);磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片, 最大为 255 (用 8 个二进制位存储);& 柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道,最大为 1023(用 10 个二进制位存储);& 扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为 63(用 6个二进制位存储);& 每个扇区一般是 512个字节, 理论上讲这不是必须的,但好像没有取别的值的。  分区序列 引导 开始 终止 容量 分区类型ID 分区类型  Device Boot Start End Blocks Id System  /dev/hda1 * 1 765
HPFS/NTFS  /dev/hda2 766 0 c W95 FAT32 (LBA)  /dev/hda3
Extended  /dev/hda5 93118+ 83 Linux  /dev/hda6
Linux  /dev/hda7 7153+ 82 Linux swap / Solaris  /dev/hda8
Linux  /dev/hda9 87523+ 83 Linux  /dev/hda10
Linux  说明:  硬盘分区的表示:在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c …… …… x表示的数字 1、2、3 …… …… hd大多是IDE硬盘;sd大多是SCSI或移动存储;  引导(Boot):表示引导分区,在上面的例子中 hda1 是引导分区;  Start (开始):表示的一个分区从X cylinder(磁柱)开始;  End (结束):表示一个分区到 Y cylinder(磁柱)结束;  id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。下面的部份会提到;  Blocks(容量):这是我翻译的,其实不准确,表示的意思的确是容量的意思,其单位是K;一个分区容量的值是由下面的公式而来的;后面的加号代表还有小数。  Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量  所以我们算一下 hda1的 Blocks 的大小 :  hda1 Blocks=(765-1)x4113.92 K = M  注:换算单位以硬盘厂家提供的10进位算起,如果以操作系统二进制来算,这个分区容量应该更少一些,得出的这个值和我们通过 fdisk -l 看到的 /dev/hda1的值是大体相当的,因为换算方法不一样,所以也不可能尽可能的精确;再加上分区时的一点损失之类,有时或大或小是存在的;  我们查看分区大小或者文件的时候,还是用十进制来计算比较直观;推算办法是 byte 向前推小数点三位就是K ,K单位的值向前推小数点三位就是M,M向前推小数点三位就是G…… …… 一般也差不了多少;这么算就行
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&

参考资料

 

随机推荐