2014-10-07 104 views
-1

問題:執行以下switch語句後,什麼是y?如果聲明使用來重寫代碼。切換聲明:作業混淆

y = 3; x = 3; 
switch (x + 3) 
{ 
case 6: y = 1; 
default: y += 1; 
} 

我在C++加息的開始。我不知道這是怎麼回事。它在C++ Visual Studio 2013中不起作用。我把它放在原樣,沒有任何反應。

我用:

y = 3; x = 3; 

switch (x + 3) 

{ 

case 6: y = 1; 

default: y += 1; 

} 

    return 0; 
} 

並沒有任何反應。我有兩個問題的答案,但我不知道如何讓他們...

y is 2 
if (x + 3 == 6) 
    y = 1; 

     y += 1; 

我嚴格應該是使用

#include <iostream> 
using namespace std; 

int main() 
{ 

return 0; 
} 
+1

閱讀'switch'語句中'break'的含義。 – Thilo 2014-10-07 01:29:51

+0

這是一個鏈接,它解釋瞭如何正確使用switch語句。 http://www.cplusplus.com/doc/tutorial/control/#switch – 2014-10-07 01:32:58

+0

我是一個嚴格的視覺學習者。如果我看不到它在我面前執行,我只是沒有得到它。這是一堵牆,單詞不會突破。它必須爲我打好。我有答案......我只是不知道如何用我給出的答案來形成答案。我的書沒有給出很多例子,所以... – 2014-10-07 01:37:31

回答

0

switch基本在C/C++:

  • 開關表達式在開始時評估一次。然後第一個匹配case執行
  • case條款後,通過落在到下一個條款,除非有一個break執行。由於這通常不是被注意到的,通常通過將評論或(如果多個案例引用相同的代碼)通過將它們堆疊在一起(case 2: case 3: <code>)來記錄下透析。
+0

如果你堅持用你的眼睛看這個,在調試器並逐步查看執行流程和變量的值。 – 2014-10-07 01:44:48

+0

我有不到2個小時的時間來完成這項工作,我已經做了8個小時,3個堅持這個。我真的不明白這一點。我不知道如何構建需要獲得上述答案的內容。我不知道如何處理x = 3; Y = 3 ;.我把整個代碼放到Visual中,但得到一個空白屏幕。 – 2014-10-07 01:49:23

+0

我該怎麼做? – 2014-10-07 01:50:10