是加到32767后再加就变成-32768了?
追答不一定,看int类型占空间多少,有的2个字节,有的4个字节,你用char类型可以很快看出来
本回答被提问者采纳不好意思打错了……一个=号,这是全国软件大赛的一个题目的选项
追答因为这个do{}while()是不管条件成不成立都会先执行一次,所以呢,当执行第一次后你的k=1了!
追问是啊,但是我的循环条件是k>=0啊
追答对啊 ,所以k是>0 的嘛 ,所以条件是成立的!
追问额……我问的是为何“不是”死循环……呵呵
追答好了撒!
...k==0; do{++k;} while(k>=0); 为何不是死循环?
int 类型有个范围,加到最大值以后会变成负值
...是否是死循环,并简单分析一下!int k=0; do{++k;} while(k>=0...
do{ \/\/do-while循环,先执行一次再判断条件是否成立 ++k; \/\/执行++k, 第一次执行完k=1 } while(k>=0) \/\/判断k是否>=0, 第一次执行完后k=1了,k>=0条件成立 \/\/此后k一直累加,但int是有上限值的,累加到了int的上限时,就会溢出,成为一个负数了,这时循序就结束了 ...
int k=0; do{++k;} while(k>=0)
int k=0;do{ ++k;} while(k>=0) ; \/\/一般来说,这会是个死循环,因为k越加越大 但,因为k是有符号数,达到一定程度,k值会溢出就会变成负数,循环次数是2^31。
关于C 语言的死循环的小选择
答案C是因为加到正数的上限之后k就变成负数了。。果然够隐蔽
C语言习题循环求解
int k=0;do {++k;}while(k>=0);printf("%d\\n",k);\/\/输出退出循环时k的值 程序的输出结果为:-2147483648 循环条件3<=x<=4不能这样表示,这样表示等价于(3<=x)<=4,无论x为任何数,3<=x要么是1要么为0,但不论1还是0都是小于4的,所以这个循环条件始终为真,就是死循环了,条件...
下面程序段不是死循环的是?
do{ ++k;} while(k>=0);其实看似k会一直大于0,但你作为一名学计算机的朋友,一定要记住,任何一个数据类型是有位数限制,好似int在C语言里就固定为32位带符号的整数类型,范围是-2147483648~2147483647,当不断增加一时,超过了就会溢出,返回到负的尽头,你用个printf的语句运行一下,结果是有...
为什么这个选项不是死循环(不是会一直大于等于0么)
肯定是死循环,do while 循环会先执行一次循环体,++k是k自增1后再执行语句即第一次循环时k=1,后面一直能执行且k越来越大
...<stdio.h> int main() { int k=0; while(k) { k++; printf("%d\\n...
K=0 while(k)0相当于“假”所以不执行 非0的值相当于“真”就执行了 在while前面把K改成非0的值,循环就执行了 不过你这是死循环
这个循环是死循环吗?为什么,请解释?
不是死循环 因为K是int型 当k=32767时 执行do语句 k++ K就变成-32768 此时不满足 k>=0 循环结束。
c语言中关于for循环的问题,急急急!!!
死循环,无限次 第二个的理由跟第一个一样,表达式k=0的值为0,所以一次都不运行 第三个是关系判断,如果k的值为0,k==0的值才为1,否则为0,第一次循环k=0,所以第一次运行符合条件,第一次循环结束后k++,k的值成为1,第二次k==0的值就是0了,所以只循环1次 ...