Всякий раз, когда пользователь вводит 2 целых числа и выбирает что-либо из +, -, *, /, программа запускает оператор switch. Проблема заключается в том, что оператор switch делает первое целое число 0 и дает результат на основе этого ,Оператор switch не работает в C
Предположим, что 2 целых числа равны 4 и 8. Выберите другой вариант .Программа дает результат, подобный этому 0 + 8 = 8. Аналогично другим вариантам.
Вот код:
#include <stdio.h>
int main() {
int x,y;
char choice;
printf("Enter the first Integer:\n");
scanf("%d",&x);
printf("Enter the second Integer:\n");
scanf("%d",&y);
printf("Choose the action you want to perform\n")
scanf("%s",&choice);
switch(choice) {
case '+':
printf("\n%d + %d = %d",x,y,x+y);
break;
case '-':
printf("\n%d - %d = %d",x,y,x-y);
break;
case '*':
printf("\n%d * %d = %d",x,y,x*y);
break;
case '/':
if(y==0) {
printf("Undefined value\n");
} else {
printf("\n%d/%d = %d",x,y,x/y);
}
break;
default:
printf("\n Enter something valid\n");
break;
}
return 0;
}
Нужна ваша помощь в этом вопросе.
'% s' означает строку, но' choice' является 'char' ... –
Пожалуйста, не редактируйте правильный ответ в вопрос. Просто примите ответ, который помог вам решить проблему, щелкнув зеленую отметку. – pmr