c语言for循环和计数器问题

img


我的疑惑是if的那句话,循环结束说明此时j应该为4并且n也为4,跳出内循环,当再进入内循环是n又被赋值给0,所以我认为n不可能在循环体当中等于4,也就是不会换行,我可能说的不好,我其实是这个问题兄弟

你说得对,n在内循环中,是不会等于4的。因为当n等于4的时候,j也是4,不符合j<=3的条件,因此内循环到此会结束,回到主循环。到了下一次,进入内循环时,j和n会先被赋予0值。

但是内循环的if(n%4==0)不只在n为4的时候成立,n的初始值0也满足了这个if语句的条件,所以会在每次第一次进入内循环时运行if语句。

另外提两点建议。
1) 兄弟你的格式不是很规范,除你以外的人阅读起来不是很方便。
2) 兄弟你的问题没描述清楚。如果这样表达可能更加清晰:

这个程序运行起来得到的结果是aaaaaa。但是我觉得某个地方不应该是这样,而应该是gggggg。请问为什么是aaaaaa而不是gggggg呢?

因为,一种很有可能的情况是,有些人看不懂你的代码(或是看起来太费劲),或是没看懂你的问题,所以 即使想帮忙也无能为力。

希望能够帮到你。