不确定循环在C中超出整数范围时发生
我的问题是,当我们试图打印0到32767之间的数字时,为什么会出现不确定循环 为什么会返回到-32767并重新开始打印 程序代码-不确定循环在C中超出整数范围时发生,c,loops,for-loop,infinite-loop,C,Loops,For Loop,Infinite Loop,我的问题是,当我们试图打印0到32767之间的数字时,为什么会出现不确定循环 为什么会返回到-32767并重新开始打印 程序代码- main(){ int i; for(i=0; i<=32767; i++){ printf("%d\n", i); } } main(){ int i; 对于(i=0;i,因为32767是16位int的最大值 在将其值增加1之后,您还希望它的值是什么?在您的环境中,int(int\u M
main(){
int i;
for(i=0; i<=32767; i++){
printf("%d\n", i);
}
}
main(){
int i;
对于(i=0;i,因为32767是16位int的最大值
在将其值增加1之后,您还希望它的值是什么?在您的环境中,int(int\u MAX
)类型的对象的最大值似乎等于32767。因此,i等于32767
for(i=0; i<=32767; i++){
将产生真值。溢出!(但不是堆栈溢出)。尝试学习类型的基本知识^(@jean)->我只会给你一点提示!不明白你在说什么@jeanAlso请尝试更改感谢现在我真的明白了
i<=32767