#include<stdio.h>
void main()
{
int i=-1;
for(;i++;)
printf(“%d”,i);
}
这个输出为什么是0?如果把-1变成-2输出又变成了-10,真的不懂。
大一学生想问一下这个是为什么
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
快乐鹦鹉 2022-10-16 21:12关注当 i=-1时 ,for循环判断 i不是0,执行for循环,由于i++,进入循环时 ,i会加上1 ,所以 -1+1=0,printf输出了0,再次循环时 ,由于i为0 ,所以循环结束
当 i=-2时 ,for循环判断i不是0,执行for循环,由于i++,进入循环时 ,i会加上1,所以-2+1=-1,printf输出了-1,再次循环时 ,由于i=-1,所以继续循环,与上面i=-1就是一个逻辑了,会输出0,因此最终输出的是 -10本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报