int k=0; while(k=1)k++; 则while循环执行的次数是?

int k=0; while(k=0)k++; 则while循环执行的次数是??两个分别是多少次。

#include<stdio.h>
int main()
{
    int k=0,times=0;
    while(k=0)
    {
        k++;
        times++;
    }
    printf("tmes=:%d\n",times);
    k=1,times=0;
    while(k=1)
    {
        k++;
        times++;
        if(times>10000)
        {
            break;
        }
    }
    printf("tmes=:%d\n",times);
    return 0;
    
}


由此可以看出来,第一个循环了0次,第二个是无限循环。

追问

问下你哈 就是k=1这个赋值表达式 为真 k=0这个赋值表达式 为假 的意思???

追答

嗯,整个表达式的值是等号右边的值。

追问

意思是除了k=0为假外,k=1 ,k=-1,k=88等等 都为真

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-23
死循环
while() 括号中要判断语句,你的是个赋值语句追问

两个都是死循环吗

追答

你这个代码没写明白呀, 有两个吗?

追问

你看吧 我写了的啊 一个k=0 一个k=1

追答

哦, 有个在标题里呀
其实这样写是不规范的.while( ) 括号中应该是逻辑表达式进行判断
while(k=0) 时, 先对k进行赋值, 再判断k的值为0, 则不会进行while循环
while(k=1) 时, 对k赋值为1, 条件永远成立, 不管while中对k的值怎么变化, 再执行到while(k=1) 时,k的值又为1. 所有是死循环

相似回答