【发布时间】:2013-02-08 19:22:08
【问题描述】:
我无法想出下面的代码块并确保它有效。
我有三个可能的输入词,分别称为 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 中没有任何内容(当 i=1 时第一次在 AKA 附近;这一切都在一个循环中)然后将 word 写入 TextA。但是,如果 TextA 中确实包含某些内容,则将 word 写入 TextB。如果 TextB 中有内容,请将 TextC 设置为 word。我可以将单词重新复制到正确的位置,因为只有 3 个选项。
【问题讨论】:
-
请将所有 strcmp 结果放入某个变量中。代码很难像这样可读。它还将帮助您确定您的逻辑是否正确。
-
我不知道你把它们拉进一个变量是什么意思?
-
类似
int wordEqualTextA = !strcmp(word, textA); -
我原以为这是您想要一个单词数组而不是三个不同变量的情况。