为什么输出为空以及为什么循环会运行
for(i=1;i<=-10;i++)
printf("*");
如果 i=-1 或 i= -10 运行一次并不重要,为什么
最佳答案
只要 i
小于或等于 -10
,循环就会迭代。只要 i
大于 -10
,该条件就永远不会为真,并且循环不会迭代,甚至不会迭代一次。
如果i == -10
开始,循环将迭代一次。然后执行 i++
,将 i?
的值增加到 -9
并且条件变为 false,并且循环不会再次迭代。
请注意,只有当 i
是一个有符号整数时,上述情况才成立。
如果i
是一个无符号整数,事情就会变得非常不同。然后-10
将被转换为无符号值,并且该值将变得非常大,并且循环将迭代很多。
关于c - 当最大值为负一且赋值为正一时,for循环在c中输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54925233/