這是因爲邏輯你的代碼。您首先從標準輸入中讀取一個數字,然後根據數字不等於0的條件構造一個while循環。因此,如果通過標準輸入提供的num值不等於0,那麼程序將重複循環的主體一次又一次。
在這段代碼中,while循環本身是不需要的。如果只想基礎上,NUM是正/負打印一條消息給用戶,你可能只是離開的if/else部分和擺脫while循環是這樣的:
using namespace std;
int main() {
int num;
cout<<"enter number"<<endl;
cin>>num;
while(num!=0)
{
if(num>0)
cout<<"positive"<<endl;
else
cout<<"negative"<<endl;
}
return 0;
}
另一種可能將是用戶機會進入NUM多次,打破這樣就一定條件下while循環:
using namespace std;
int main() {
int num;
do {
cout<<"enter number"<<endl;
cin>>num;
if(num>0)
cout<<"positive"<<endl;
else if(num < 0)
cout<<"negative"<<endl;
} while(num!=0);
return 0;
}
在此,循環將結束,如果NUM等於0。你也可以明確地擺脫與break
狀態的循環基於某些條件的改進。