题目

以下两个程序片段A 和B ,问哪个能进入循环?

片段A:

unsigned short i;
unsigned short index = 0;
for(i=0; i < index-1; i++)
{
    ........
}

片段B:

unsigned short i;
unsigned long index = 0;
for(i=0; i < index-1; i++)
{
    ........
}

 

 


解答

  此题主要考虑类型之间的隐式转换问题,答案是B能进入循环

  对于片段A:short - int 的结果是int 型的,所以结果是:0<-1,不满足条件;

  对于片段B:unsigned long - int 结果是unsigned long 型的,(-1)在内存中的最高位是1,当作unsigned long 类型时为一个很大的正数,所以能进入循环

 

 

相关文章:

  • 2022-03-03
  • 2022-01-21
  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-17
  • 2022-12-23
  • 2022-02-28
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案