C语言这个i++为什么不在if括号内

img


为什么count++在if括号内而i++在if括号外呢?
它们难道不都是再一次循环之后加一吗?

i是代表整数,每次都++
count是符合要求的,所以if里面成立才++

不断改变的是i,表示每个自然数。而count是计数器,满足条件才计数啊

i要放if里就是个标准死循环了
你总要先搞明白每个变量代表什么含义
问为什么之前先问是什么
光看个热闹,根本不管变量是干什么的,问为什么毫无意义

放在if括号里会导致只有判断为true才加1,这样无法遍历,还会导致陷入死循环

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7429809
  • 除此之外, 这篇博客: C语言分支语句和循环语句及练习中的 把调整部分i++移到if上 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    #include <stdio.h>
    
    int main()
    {
    	int i = 1;
    	while (i <= 10)
    	{
    		i++;
    		if (5 == i)
    			continue;
    		printf("%d", i); // 2 3 4 6 7 8 9 10 11
    	}
    	return 0;
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^