SingA_SongForMe 2022-10-16 20:54 采纳率: 100%
浏览 15
已结题

大一学生想问一下这个是为什么

#include<stdio.h>
void main()
{
int i=-1;
for(;i++;)
printf(“%d”,i);
}
这个输出为什么是0?如果把-1变成-2输出又变成了-10,真的不懂。

  • 写回答

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月1日
  • 已采纳回答 10月24日
  • 创建了问题 10月16日