我目前正在用C编写加密程序来学习该语言。我遇到的一个问题是在我的while()
循环中,所有控制台输出都加倍了。这是我的代码:
#include <stdio.h>
char charInput = ' ';
int main() {
printf("Welcome to Cooper's Crypto Coder\n");
printf("Would you like to translate a sentence to or from the code?\n");
printf("(t:to | f:from)\n");
scanf("%c", &charInput);
while(charInput != 't' && charInput != 'f') {
printf("Invalid response, please re respond\n");
printf("(t:to | f:from)\n");
scanf("%c", &charInput);
}
printf("DEBUG: Input is: %c\n", charInput);
return 0;
}
问题在于,当我运行程序时,每当我在控制台中输入无效响应(例如“j”)时,它运行正常,但它显示“响应无效,请重新响应”和“(t:to | f:from)“每两次(abab,not aabb),这对我来说没有意义。这里发生了什么,我该如何解决?