我決定製作一個播放tic tac腳趾的程序,但是我的if語句失敗了,它使用了其他的東西。我一直盯着它兩個小時,而我卻找不到任何錯誤!這裏是代碼:IF聲明無法正常工作
#include <stdio.h>
#include <process.h>
int main()
{
char ans,ans2;
double a,b,c,d,e,f;
printf("Do you want to play? (y/n)\n"); //must make a loop
scanf ("%c",&ans);
if (ans == 'y')
{
printf("Do you want to be first?\n");
scanf ("%c",&ans2);
if (ans2 == 'y')
{
printf("Make your choice.\n");
printf(" 1 2 3\n");
printf("a | | \n");
printf(" - - -\n");
printf("b | | \n");
printf(" - - -\n");
printf("c | | \n");
}
else if (ans2 == 'n')
{
printf("option under construction!\n"); //must write this situation
}
else
printf("Invalid choice!\n");
}
else if (ans == 'n')
{
printf("Goodbye!\n");
system("pause");
}
else
printf("Invalid choice!\n");
}
請注意,程序還沒有完成(顯然)。
P.S.我昨天開始編程。
'ans2'有什麼價值?打印出來到控制檯。我打賭你會發現它是10.什麼ASCII字符代碼10?對於你現在要學習的最重要的事情不是解決這個特定問題,而是如何調試一般的問題。 – 2013-03-25 13:12:48
您是否嘗試過使用調試器? – Alon 2013-03-25 13:13:06
顯示您的輸入和每個調試語句,但(幾乎肯定)第一條評論和@Joachim的答案是原因和解決方案。附:這個問題可能在SO和2^32次這裏回答了2^32次,其他地方的數據(只是谷歌scanf)。 – KevinDTimm 2013-03-25 13:17:21