【发布时间】:2020-11-25 09:43:35
【问题描述】:
代码:
for(int i=0;i<5;){
i=i++;
printf("%d",i);
}
上面的程序无限打印零,怎么可能呢?
有声明i=i++;。请解释为什么i 的值不增加。
【问题讨论】:
-
考虑到
printf调用,我假设您正在用C 编程?将来始终包含所使用语言的标签。也请花一些时间阅读the help pages,阅读SO tour,阅读How to Ask,以及this question checklist。 -
你混合了两个概念。
i++递增i并返回旧值。然后这会覆盖新增加的值。所以要么省略赋值,要么改用i = i + 1。
标签: c post-increment language-concepts