簡體   English   中英

C ++邏輯語句

[英]C++ logical statements

我是C ++課程的一年級生。 由於缺乏實踐,我在較高級概念上的技能非常缺乏,因此我對這種語言的來龍去脈並不熟悉。 我的問題是關於擲骰子的作業中帶有不尋常行的代碼塊。

#include <iostream>

using namespace std;

int main()
{
   int numSims = numSims % 12 == 0 || numSims > 1000;
   //Other irrelevant code follows
}

我找不到任何說這是錯誤語法的信息。 據我所知,我無法理解為什么學生無法執行這種語句。 這里有沒有我想念的秘密?

將執行此操作,但在評估右側的表達式時將使用未初始化的numSims值。 最后,numSims的結尾為0或1。

編輯

考慮到以下注釋中的所有討論,從技術上講,這是未定義的行為,可能導致程序在某些硬件平台上崩潰。 (也有可能,但不太可能,它會觸發相量或反轉中子流的極性-取決於您的硬件平台。)

在當今使用的許多系統上,該程序將運行,並且未定義的行為(由於嘗試使用未初始化的numSims變量中存儲的不確定值而導致)將導致numSims以0或1結尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM