首页 > 试题广场 >

How many times will&nb...

[不定项选择题]
下面代码的循环次数为()
unsigned char limit = 150;
for (unsigned char i = 0; i < 2 * limit; ++i) {
    //in loop do something
}


  • 300
  • 299
  • 301
  • 无限循环
unsigned char在32位机的存储范围是0~255
发表于 2020-08-22 11:23:44 回复(0)
无语了,我选d他不让提交说是多选,啃爹啊
发表于 2021-12-29 18:48:24 回复(1)
字面值常量2 为int型  :2 * limit (limit被转换为int型) 所以结果为300
而unsigned char 的最大值为255 ,
当unsigned char i 为: 1111 1111 = 255 再执行++i时,发生溢出, 结果为0000 0000 为0.
故一直恒小于,进行无限循环。
发表于 2022-03-05 14:57:30 回复(4)
实验证明,由于unsigned char的数值范围为1~255,所以在i的值超过255时,会被清零
发表于 2021-11-16 22:37:19 回复(2)
char类型占据一个字节,8位,2^8所以能表示256个数据,而unsigin char表示没有符号位,所以能表示的数据范围位0~255,在这种前提下,所以选D
编辑于 2021-08-26 09:51:12 回复(3)
坑爹的类型~~
发表于 2020-08-21 09:11:51 回复(0)
溢出,无限循环。
发表于 2021-12-04 10:35:07 回复(0)

[0~255] < 300 恒成立

发表于 2022-07-21 06:08:37 回复(0)
`在大多数表达式中,比int类型小的整形值首先提升为较大的整型类型 –c加加prime p141
发表于 2022-03-16 13:24:16 回复(0)
会溢出,真恶心
发表于 2023-08-08 14:45:31 回复(0)
直接写出来的叫“字面量”(literal)。如果是无后缀的十进制整数字面量,会选择以下首个能装进该数字的类型: int long int long long int 以上是C++标准。C语言的顺序是: int long int unsigned long int (C99 前) long long int 我忽略了i的数据类型,i到达255以后,再加1,又会回到0,所以是无线循环
发表于 2023-05-16 10:40:36 回复(0)
最后一道的多选题有百分之一的概率是单选
发表于 2022-06-21 17:35:09 回复(0)
unsigned char永远也超不过300
发表于 2022-03-10 14:21:46 回复(0)
<p>D选项 无限循环</p>
发表于 2020-09-13 17:10:23 回复(0)