Я делаю каменная бумага для ножей. (Rock Scissors) В этом задании нам было предложено использовать номера для сравнения. Отсюда возникает необходимость преобразования пользователей вход 'S' или 'K' или 'P' на 0, 1, 2 repectively.I столкнулись с проблемами, используя STRCMP Funtion, который не кажется работать из-за моего ограниченного понимания указателей и персонажей.Сравнение нескольких символов в C
int comp_number,user_number;
char user_guess[1], computer_guess[1];
printf("Please enter S (for stone) or K (for Knife) or P (for Paper).\n");
scanf("%c",&user_guess);
comp_number = rand() % 3;
/*
o = stone
1 = kinfe
2 = paper
*/
if(strcmp(user_guess,"S")==0 || strcmp(user_guess,"s")==0){
user_number=0;
}else if(strcmp(user_guess,"K")==0 || strcmp(user_guess,"k")==0){
user_number=1;
}else{
user_number=2;
}
Это один символ. 'user_guess == 'K'' будет работать нормально. Почему вы слишком усложняете? И да, вы можете использовать инструкцию 'switch/case'. –
Попробуйте использовать «S» вместо «S» и так далее ... '' '' для строк, '' '' для символов – OiciTrap
@OiciTrap 'strcmp' не работает с символами. –