我还没有在C方面取得进步,所以我需要帮助解决一些问题。 1.假设我想输入字符(y或n),除了那个字符之外我不想要任何其他内容,所以我会使用while循环直到输入。我无法让它运转,这是我的代码。它编译并运行但它不会执行我想要的东西,如果我输入y它继续循环n
printf("Enter code(y/n): \n");
scanf(" %c", &code);
while (code != 'y' || 'n' ){
printf("Try Again: \n");
scanf(" %c", &code);
}
答案 0 :(得分:1)
REPLACE
while (code != 'y' || 'n' ){
< - 条件总是评估为TRUE
使用
while ((code != 'y' )&&(code != 'n')){
答案 1 :(得分:1)
你有的行
while (code != 'y' || 'n' ){
相当于:
while ((code != 'y') || 'n' ){
始终评估为真。
您需要的逻辑是:
while (code != 'y' && code != 'n' ){