首页 > 试题广场 >

t为int类型,进入下面的循环之前,t的值为0,则以下叙述中

[单选题]
C/C++中,t为int类型,进入下面的循环之前,t的值为0
while(t=1)
{
    -------
}
则以下叙述中正确的是
  • 循环控制表达式的值为0
  • 循环控制表达式的值为1
  • 循环控制表达式不合法
  • 以上说法都不对
推荐
答案:选B
这个表达式是赋值表达式,将1赋给t,t一直为1(真)
编辑于 2015-02-05 11:43:29 回复(2)
牛客网上给出的本题答案为 B ,但我认为此题不严谨:
1.如果在Java语言环境下,会报错Type mismatch: cannot convert from int to boolean,说明不合法,编译不会通过。应选C。
2.如果在C/C++语言环境下,赋值返回1。应选B。
编辑于 2016-09-03 17:18:48 回复(2)
在java里面这样用就是不可以的,java中while中的值必须为boolean类型,不像c,c++可以写成while(1)的形式,所以对于java来说,应该选C吧?不知大家怎么看

发表于 2016-08-17 15:41:47 回复(0)
t=1不是t==1
发表于 2016-04-25 11:10:33 回复(0)
循环条件是逻辑值,这里是赋值表达式,赋值成功逻辑值为1.
发表于 2016-06-03 19:13:41 回复(0)
在C里,赋值返回1
在JAVA里,赋值返回该整数,此处也是1 
发表于 2015-09-14 17:49:10 回复(3)
在c里,注意t=-1 (负的)也是合法并且会进入循环的哦(´-ω-`)
发表于 2020-10-24 23:29:29 回复(0)
给 t赋值为1 while对t做判断,c中1就是true
发表于 2020-08-25 01:07:38 回复(0)
赋值表达式,不是t==1
发表于 2017-11-20 23:35:49 回复(0)
java:直接在编译器处,while里面划红色波浪线,并显示:
Type mismatch: cannot convert from int to boolean
但是题目中是C/C++中,所以选B
发表于 2017-09-21 09:36:13 回复(0)