for语句的差别
个位大侠,问一下:for(i=0;i=0;)与for(i=0;i==0;)在意义上有什么差别。
在运行中,前一个是运行0次,后一个是1次,为什么啊?
[此贴子已经被作者于2007-7-20 20:18:09编辑过]
我认为不是第二个i=0不会成功,for 语句是判断第二个表达式的值是否为真,而第二个i=0也是成功的,这个表达式的值就是i的值,所以也是0,也就是表达式的值为假,所以循环体不执行。
再进一步举个例子,如果将以上代码改成如下代码,将出现死循环:
for(i=0;i=1;)
因为for的第二个表达式给i赋值为1,也就使这个表达式的值也为1,即真,所以这个循环将会永远执行下去,直到你CTRL+BREAK。这也反证了第二个赋值语句是能够成功的。