我试图让我的游戏更具互动性,玩家输入他们的名字并玩。有没有办法做到这一点,如果没有玩家 2,char player2 可以得到一个默认名称?
#define DEF "CPU"
printf(" Enter name for Player 1:n");
scanf(" %s", &player1 );
printf("Is there a Player 2? [y/n]");
scanf(" %c", &mult);
if( mult == y){
printf("Enter name for Player 2:n");
scanf(" %c", &player2);
}else{
printf(" The CPU will be your opponent!n");
&player2 = DEF ;
}
这应该适合您:
#include <stdio.h>
#include <string.h>
#define DEF "CPU"
void clean_stdin(void) {
int c;
do {
c = getchar();
} while (c != 'n' && c != EOF);
}
int main() {
char player1[20], player2[20];
char mult;
printf("Enter name for Player 1:n>");
fgets (player1, 20, stdin);
clean_stdin();
printf("Is there a Player 2? [y/n]:");
scanf(" %c", &mult);
clean_stdin();
if(mult == 'y') {
printf("nEnter name for Player 2:n>");
fgets (player2, 20, stdin);
} else {
printf("nThe CPU will be your opponent!n");
strcpy(player2, DEF);
}
printf("nnPlayer 1: %snPlayer 2: %s", player1, player2);
return 0;
}