C语言中,for(i=1,i<3,i++)中把i++改为++i有什么区别?两个的输出结果分别是什么

C语言中,for(i=1,i<3,i++)中把i++改为++i有什么区别?两个的输出结果分别是什么?

没有区别

for(i=1,i<3,i++)

分解一下

i = 1;

while(i<3)

{

    此处是for循环体里边语句
    执行结束之后执行
    i++;//或者++i;

}

验证一下

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-26
for(i=1; i<3; i++)与;for(i=1; i<3; ++i)没有实质性的区别,这里都是实现循环变量的递增。++前置或后置,只有有一些复杂一些的运算表达式里才有区别。 比如 j =++i--;这样的追问

循环结束时值分别是什么?!

追答

循环结束都是3

追问

那各执行多少次?

追答

3次,i在循环体内的值将分别是0,1,2

哦,看错,初始条件的i是1,那么循环将执行2次,i在循环体内的值将分别是1和2,在循环结束时的i将为3。

追问

嗯厉害哈

本回答被提问者采纳
第2个回答  2013-12-26
i++是先使用i的值 再执行i+1
而++i是先使i+1,再执行后面的
对于这个语句 都是循环两次
第3个回答  2013-12-26
i++是先自加1后再赋值,++1是经过赋值运算后再加一,你给的for循环只是个条件没有输出,输出时候是3追答

区别很大,不是没区别!!(正在复习C语言,呵呵)

第4个回答  2013-12-26
++就是语句执行完毕以后补做一个i=i+1的赋值,++i就是在语句执行之前执行一个i=i+1语句,这是所有C语言的标准,不存在不通编译器不同结果的可能。
相似回答