我在考慮以下代碼塊並確保它正常工作時遇到問題。C中的複雜邏輯故障
我有三個可能輸入詞彙,稱他們爲A,B和C
//The following if-else block sets the variables TextA, TextB, and TextC to the appropriate Supply Types.
if(strcmp(word,TextB)!=0 && strcmp(word,TextC)!=0 && i==1 && strcmp("",TextB)!=0) {
strcpy(TextA,word);
}
else if(strcmp(word,TextA)!=0 && strcmp(word,TextC)!=0 && i==1 && strcmp("",TextC)!=0) {
strcpy(TextB,word);
}
else if(strcmp(word,TextB)!=0 && strcmp(word,TextA)!=0 && i==1) {
strcpy(TextC,word);
}
我希望有發生的是,如果TEXTA中有什麼(第一次就AKA當我= 1;這一切都在一個循環中),然後將單詞寫入TextA。但是,如果TextA確實有內容,請將單詞寫入TextB。如果TextB中有內容,則將TextC設置爲單詞。我可以將這些單詞重新複製到適當的位置,因爲只有3個選項。
請將所有strcmp結果放入一些變量中。這些代碼幾乎不可讀。它也將幫助你弄清楚你的邏輯是否正確。 – nhahtdh 2013-02-08 19:28:31
我不知道你是什麼意思把他們拉入變量? – user2055216 2013-02-08 19:30:31
類似於'int wordEqualTextA =!strcmp(word,textA);' – nhahtdh 2013-02-08 19:33:41