黑马程序员技术交流社区

标题: 新人 学习计数器时的问题 [打印本页]

作者: 孙雯    时间: 2014-8-5 11:58
标题: 新人 学习计数器时的问题
    看学习视频时,在做自己的小练习,遇到了一个错误,一直没找到问题所在。还请路过大神帮忙指导一下,拜托拜托~~~
如图,求1~100之间7的倍数的个数,并打印 。但是第二种方法可以得到结果,第一种简化的就不可以。一直找不到原因QAQ

QQ截图20140805115522.jpg (29.05 KB, 下载次数: 20)

计数器的小练习

计数器的小练习

作者: 萍水相逢    时间: 2014-8-5 12:22
本帖最后由 萍水相逢 于 2014-8-5 12:24 编辑

应该将count=(i%7==0)?count++:count;中的count++,改为++count就可以了!
作者: 沟门大杏    时间: 2014-8-5 12:31
没见过这种简化

作者: 冒牌高手    时间: 2014-8-5 14:43
改为count+1,或者是改为++count都可以,但是不知道为什么count++就是不行
作者: 孙雯    时间: 2014-8-11 16:53
萍水相逢 发表于 2014-8-5 12:22
应该将count=(i%7==0)?count++:count;中的count++,改为++count就可以了!

对头,我就是这样试了之后发现可以,但没有明白原因QAQ
作者: 孙雯    时间: 2014-8-11 16:56
冒牌高手 发表于 2014-8-5 14:43
改为count+1,或者是改为++count都可以,但是不知道为什么count++就是不行

嗯嗯,我也是~~~不知道原因TAT
作者: 萍水相逢    时间: 2014-8-11 17:15
孙雯 发表于 2014-8-11 16:53
对头,我就是这样试了之后发现可以,但没有明白原因QAQ

++count先加,然后再赋值,而count++是先赋值然后再加!
作者: 孙雯    时间: 2014-8-11 17:32
萍水相逢 发表于 2014-8-11 17:15
++count先加,然后再赋值,而count++是先赋值然后再加!

想了半天,一步一步来走才知道问题在哪儿。谢谢~~~
作者: 孙雯    时间: 2014-8-11 17:34
冒牌高手 发表于 2014-8-5 14:43
改为count+1,或者是改为++count都可以,但是不知道为什么count++就是不行

count++,先赋值再加一,只赋了值,但没存储起来,所以一直是0.
作者: 冒牌高手    时间: 2014-8-11 18:30
孙雯 发表于 2014-8-11 17:34
count++,先赋值再加一,只赋了值,但没存储起来,所以一直是0.

可能你说的对,当时我记得是牵扯到内存的一些问题了,貌似有一个缓冲区,先将count=0中的0存起来,然后再赋给count,再自增1,这时count变为1,最后再将缓冲区里的0赋值给count,所以一直是0;我记得当时是有这么回事,但是具体怎么样忘记了...如你所说,为什么赋值了没存起来啊?
作者: 孙雯    时间: 2014-8-26 23:56
冒牌高手 发表于 2014-8-11 18:30
可能你说的对,当时我记得是牵扯到内存的一些问题了,貌似有一个缓冲区,先将count=0中的0存起来,然后再 ...

因为没有下一步的运算啊,这一步只是把count加了一,但是加了一的count并没有参与运算,还没来得及把它装进购物车就退回界面继续购买,一直循环,购物车里面其实是空啊~~~
作者: SmallRooker    时间: 2014-8-27 06:54
过来顶一下子。
作者: 孙雯    时间: 2014-8-27 21:56
SmallRooker 发表于 2014-8-27 06:54
过来顶一下子。

O(∩_∩)O谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2