66问答网
所有问题
一道c语言的题,麻烦详细点解释以下
int k=0;while(k=1)k++; while循环执行的次序是?
举报该问题
推荐答案 2012-12-27
先判断while()括号里面的内容,如果条件成立,则执行while(){ }后面大括号里面的循环体,反之,条件不成立,跳到大括号后面,执行后面的语句。
楼主你给的代码等价于
int k = 0;
while((k = 1) != 0)
{
k++;
}
分析:在while(k=1)处相当于while((k = 1) != 0) ,由于k=1,所以条件成立,所以执行k++(因为循环体内只有一句,所以大括号可以省略)之后k=2,再来判断k是否为非零值,显然满足条件,继续执行循环体,由此可见,无论如何k都不为0,所以成了死循环!
希望回答对楼主你有帮助!
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/sUUnp9sU9.html
其他回答
第1个回答 2012-12-27
(1)首先k=1是个赋值表达式,赋值表达式是有值的,这个值等于赋值号左边变量的值,即k的值。
由(1),设X=(k=1),那么X为赋值表达式(k=1)的值即k的值,那么X始终为1。
所以while(k=1)即等价于于判断while(X),由于X为1,所以这个循环条件相当于while(1)。
综上,是个死循环,循环执行次数为无限次。
第2个回答 2012-12-27
int k = 0 宣告 初始k
在while回圈里 把1 assign给 k 然后 回圈 开始
进入回圈后 k++;
就是 k = k+1
第一次 跑完后 k 的值为2
再进去回圈 之后 k 为3
是死循环 一直跑下去。。
第3个回答 2012-12-27
将1赋值给k,然后k++,再次循环
是个无限循环
相似回答
一
题C语言的题目
给
详细
说明下
答:
C)40,D)40,50,
C语言中的
问题不明白为什么 新人
麻烦详细解释
一下谢谢
答:
scanf不指定分隔符时,默认以空白字符(空格、回车、制表符)为分隔符。PS:如果写%d%c不指定分隔符号。由于第二个变量是字符型,输入时中间不要加空格符,否则会将空白符号做为字符接收。
本人初学
C语言,
有
一道题目
不会,请教高手,不要只说答案,告诉我每条语 ...
答:
循环的结束条件是s[k+1]==0(C语法:如果用整形变量作条件判断,则当变量值为0时判断为假,否则为真)
,C语言中的
字符串实际都是字符数组,由于C语言不检查数组下标,因此需要一个特殊字符来标识字符串的结束,这个字符就是整型值0,也可以写成'\0'。当s[k+1]==0时,k自然就是字符串中末字...
一道
简单的
C语言题目
。请教高手
详细
解答!谢谢!
答:
a='\'错误是因为转义字符它是由反斜线加一个特定的字符构成,因此你可以在字符变量a把它的转义字符随便设定一个,譬如说就像a='\n'.字符变量
c
有错误是因为表示一个十六进制的转义字符应该用'\xdd'的形式表示,不得使用'\0xdd'的形式,更不能用'\0Xdd'.因此,字符变量
C
可以这样表示c='\xab'....
一道c语言题,
求解答,急!
答:
x+=x-=x*x;等同于 x+=(x-=x*x);等同于 x+=(x-=36);等同于 x+=(x=x-36);等同于 x+=(x=-30);等同于 x+=(-30);等同于 x=x-30;x=-30-30=-60;答案是B。
一道C语言题,
望
详细解释
,越详细越好,谢谢
答:
A的说法是对的 B的说法是错的,continue代表结束本次循环,但继续下次循环知道8次 C是错的,如果产生1,那么case 1后是空语句,执行case 3 后的语句,跳出switch,继续执行循环(case 1后未加break)D是对的 但你的rand函数在这8次里只产生1个随机数,即这8次的随机数是一样的 ...
大家正在搜
c语言编程题库100题
大一c语言经典编程题
c语言常考的编程题
大一c语言必背编程题
大一c语言编程题库
大一c语言常考编程题
c语言必考编程题
c语言编程题经典100例
c语言选择题