c – 循环终止后’i’的值是多少.它始终为零.为什么?

c – 循环终止后’i’的值是多少.它始终为零.为什么?,第1张

概述#include<stdio.h>#include<conio.h>void main(){ int i=1; for(;i;)i++; printf("%d",i); getch();} 无论我最初有什么价值,我总是将输出设为零. 基于你的for循环,“i”是终止条件.在C中,当在布尔表达式中使用时,任何非零值都被视为true.因此,你所做的循环的唯一退出
#include<stdio.h>#include<conio.h>voID main(){    int i=1;    for(;i;)i++;    printf("%d",i);    getch();}

无论我最初有什么价值,我总是将输出设为零.

解决方法 基于你的for循环,“i”是终止条件.在C中,当在布尔表达式中使用时,任何非零值都被视为true.因此,你所做的循环的唯一退出条件是我最终变为零的情况,正如其他人所指出的那样,可能是由于当i的值经历溢出时发生的环绕.同样,这种特殊行为是特定于编译器的,并且溢出并不总是导致回绕,因为它本质上是未定义的行为. 总结

以上是内存溢出为你收集整理的c – 循环终止后’i’的值是多少.它始终为零.为什么?全部内容,希望文章能够帮你解决c – 循环终止后’i’的值是多少.它始终为零.为什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1217749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存