2012-07-25 25 views
-2

我編寫這個程序在C和我有一個大問題,當我編譯它,當我到達的部分是我問用戶,如果他21歲以下,如果答案是肯定的,我問更多關於這個問題的問題,但是當我編譯它時,程序基本回答它的自我。我該如何解決這個問題? 繼承人截圖,橙色框,我沒有回答任何這些問題。 http://i.imgur.com/4H3nl.png種子如果否則條件在C

+1

小心分享語言? – PeeHaa 2012-07-25 19:33:49

+0

C對於cmsc 104,對不起大聲笑 – ma21212 2012-07-25 19:38:56

+0

嗯,我不知道C,但看起來你只是在腳本開始時只設置一次'a'的值,據我所知。 – PeeHaa 2012-07-25 19:40:50

回答

0

在你遇到麻煩的分支中,你忘記提示用戶輸入。因此,它重複使用用戶最後給出的答案。

+0

哦!大聲笑我忘了scanf功能好的謝謝。 – ma21212 2012-07-25 19:48:34

0

您正在重複使用相同的變量a,而實際上並未要求將用戶輸入放入a

0

您只能從用戶那裏讀取一次信息。您需要在每個問題之前執行scanf

if (a == 'y') 
1

您忘記了在除第一個問題之外的每個問題後都要求用戶輸入。每個問題後只需做scanf("%c", &a);

0

只有一個scanf()函數使用這種方法,只有一次輸入可以從stdin流接受。對於scanf(),當按下「enter」鍵時,流棧會變成'a'。然後stdin流是NULL。所以在每個問題之前,應該使用scanf()一次。