因为当你输入9时 f1=8192 f2=f3=2097152 还在int型的表示范围内
但如果你输入10的话 f2=f3=17179869184 超出了int型的表示范围
所以输入比9大的数都会超出int型的表示范围
因此才输出0
&&和||在运算时有短路效应,意思就是说如果a&&b中,a为假,则肯定a&&b为假,b就不需要运算,同样a||b,如果a为真,同样a||b肯定为真,也无需运算b,上图中a>b为假,所以m就为假(或者说为0),那后面的就被省略了,n并未被改变。
以上就是关于为什么这个c语言程序,输入10以上数字结果就是零全部的内容,包括:为什么这个c语言程序,输入10以上数字结果就是零、c语言运算符问题 执行下列语言程序段后,m和n的值为什么是0和0.我认为是0和1,能帮我解决下吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)