当前位置: 代码迷 >> C语言 >> 为什么结果一样
  详细解决方案

为什么结果一样

热度:66   发布时间:2005-05-10 21:36:00.0
为什么结果一样
#include "math.h"
main()
{int a,n,count=1,sn=0,tn=0;
scanf("%d,%d",&a,&n);
while(count<=n)
{tn=tn+a;sn=sn+tn;a=a*10;++count;}
printf("%d",sn);
getch();}
此程序中++count换成count++运行结果一样,为什么?
搜索更多相关的解决方案: count  结果  math  int  

----------------解决方案--------------------------------------------------------
不为什么啊。
一样就是 一样,这个很正常啊,
因为变的东西就是count 啊,,,,很简单啊!
----------------解决方案--------------------------------------------------------
知道count++与++count的区别么?理解了就可以了
----------------解决方案--------------------------------------------------------
书是最好的老师!

基础很重要~~~~
----------------解决方案--------------------------------------------------------
事实上,++ 在变量前,或在变量后,实现的功能是一样的, 都是将变量增加1; 书本上提醒要特别注意,这是因为它们规则上存在稍微的差别,就是变量的使用先后, ++ 在变量前,是先加后使用变量,程序在当前那条语句使用前变量就已经+1; 而与次相比,++ 在变量后面,是使用变量的当前值应用于当前那条语句,在该语句结束后立即+1。 可能在您的循环中,并不需要理会这种差别。

[此贴子已经被作者于2005-5-12 1:40:29编辑过]


----------------解决方案--------------------------------------------------------
这是自加运算符的优先级问题
----------------解决方案--------------------------------------------------------
以下是引用ChenMo在2005-5-12 1:39:49的发言: 事实上,++ 在变量前,或在变量后,实现的功能是一样的, 都是将变量增加1; 书本上提醒要特别注意,这是因为它们规则上存在稍微的差别,就是变量的使用先后, ++ 在变量前,是先加后使用变量,程序在当前那条语句使用前变量就已经+1; 而与次相比,++ 在变量后面,是使用变量的当前值应用于当前那条语句,在该语句结束后立即+1。 可能在您的循环中,并不需要理会这种差别。
还 有就是 表达式前的++和表达式后的++也不一样..... B=++A*C先给A+1再和C乘 B=A++*C先和C乘再给A+1 不知道偶说的对不?????记得不太清楚了,,,,
----------------解决方案--------------------------------------------------------
好好看书吧,就像上面的老兄说的那样咯
----------------解决方案--------------------------------------------------------
运算符优先级问题,
----------------解决方案--------------------------------------------------------
本来就是,你这里的count是用来计数的,而不是用来考虑其本身的值。
----------------解决方案--------------------------------------------------------
  相关解决方案