我不知道我的代码中有什么错误,它再次重复。
do {
scanf("%c", &operacao);
//Tratamento de erro (Validando a informacão vinda do usuário
if ((operacao != '*') && (operacao != '+') && (operacao != '-')) {
printf("---------------------------------------\n");
printf("***** MENSAGEM DE ERRO *****\n");
printf("---------------------------------------\n");
printf("Você digitou um valor inválido!\n");
printf("Por favor, digite + para soma, - para subtração * para multiplicar ou / para dividir!\n");
}
} while ((operacao != '*') && (operacao != '+') && (operacao != '-'));
答案 0 :(得分:3)
使用以下声明
scanf(" %c", &operacao);
^^^
还会读取空格字符(例如与按下的键Enter对应的新行字符'\n'
)。