今天碰到这样一个问题:
#include <iostream.h>
int main(){
int i = -1;
while(i++)
{
cout<<"hello world" << endl;
}
return 0;
}
问:输出结果是什么?
1. 死循环
2. hello world
一直以为while(表达式)中表达式为true时才执行循环体。
所以觉得没有答案,应该时什么也不输出,因为 i=-1; while(i++) 执行时,i++的返回-1,i的值为0(这或许是个考点吧)。所以while(-1)中-1 相当于false,就觉得没有输出。实际上机却不是。
一查才明白while(表达式)中表达式为非0时执行循环体。才明白以前自己........
所以答案是:2
我想有不少人也会向我以前这样认为吧。提醒自己,提醒大家!