我有一個程序,它從char數組獲取輸入,使用strtok函數檢查輸入是否包含單詞「up」或「down」。如果它包含單詞「up」,則我的b值設置爲false(即b = 0),並且我的c值也設置爲false。如果char數組包含單詞「down」,則b設置爲false,但是我的c值設置爲true(即c = 1)。兩個If語句一次執行,而不是一個
當第一個if語句執行時,字符串中包含單詞「up」,並在屏幕上打印結果字符時出現問題,但第二個如果還執行打印這些字符。任何輸入在這個問題將不勝感激
編輯:同樣的問題發生,如果我使用單詞「向下」,這兩個如果語句執行。
int moveC(int y, int x, int b, int i, int c) {
// int c is a static variable(static int c = FALSE;) defined in the previous function
int j;
int k;
switch (b) //assume b is always false (which it is)
{
case FALSE:
if (c == 0) {
mvprintw(y, x, "^");
refresh();
for (j = 1; j <= i; j++) {
mvprintw(y + j, x, ".");
refresh();
}
break;
}
if (c == 1) //tried using else if, same result
{
mvprintw(y, x, "^");
refresh();
for (j = 1; j <= i; j++) {
mvprintw(y - j, x, ".");
refresh();
}
break;
}
}
return 0;
}
您是否嘗試過使用逐步調試器?你觀察到了什麼? – Dai 2015-02-11 03:44:34
不完全確定這是否可能(因爲我正在編寫我的樹莓PI)。原諒我的無知,但我不熟悉所謂的「階梯式調試器」。 – user20842454566 2015-02-11 03:47:19
@ user20842454566嘗試學習使用gdb,作爲C程序員的生活將變得如此簡單。 – Snaipe 2015-02-11 08:03:55