for(int i=5; s=0; )
{
i--
s += i;
}
用for循环的时候要按语法规则写,这样不容易出错,最重要的是给别人看的时候,别人可以很快的明白你的意思。
你这个for循环是永远不会停下来的,因为中断条件s=0,这是永远成立的,所以会无限循环下去。
for( ; ; )
第一个位置放的是循环变量的初始化,可以在其中定义循环变量,但一定要给循环变量赋值,否则会发生意想不到的错误。
第二个位置放的是循环条件,只有满足这个条件才会进入循环,否则跳出循环。
第三个位置放的是循环度,i--表示的是i这个变量每循环一次便自减1。当然,这里可以换成i -= 2;
意思是每循环一次,i自减2;这个地方就是循环变量改变的度量。这个位置还有一点需要注意的就是,i--是for循环最后运行的语句。当循环体运行完毕以后才会运行i--。
PS:学习编程一定不要觉得语法枯燥就不好好看,语法就像是编程的法则一样,只有遵循法则才能让电脑和其他程序员看懂。语法是编程的基础,一定要仔细学习。脱离入门学者的标准之一就是秒懂语法错误。
按你的本意解读的话应该是:4+3+2+1+0-1-2-3-4。此时S为0。前面的数字是i的变化。
这和for语句的参数问题,第一个参数是初始化,第二个参数是判断条件,当为0的时候跳出循环,结果为4+3+2+1=10。还有就是i--的运算顺序,是先判断此时i是不是0,再将1自减的。不懂可以追问,望采纳!
i=0的时候跳出循环
中间是个bool类型的判断,i>0时都为真。
i--是先进行运算然后i=i-1,所以最后一次运算是i=0的时候。
i--,当i=1的时候,i--=0,也就是说,执行到i=1
自己用笔算一下,