そこで私はこのプログラムを 2 人用のじゃんけんゲームとして書いています。各プレイヤーが何を選んでも、出力は「プレイヤー 1 が勝つ」というものです。
#include <stdio.h>
int main(void)
{
long player1Choice, player2Choice, p, r, s;
printf("Player 1, enter paper (p), rock (r), or scissors (s)\n");
player1Choice=getchar();
getchar();
printf("Player 2, enter paper (p), rock (r), or scissors (s)\n");
player2Choice=getchar();
getchar();
if((player1Choice=p)&&(player2Choice=r))
printf("Player 1 wins!\n");
else if((player1Choice=r)&&(player2Choice=p))
printf("Player 2 wins!\n");
else if((player1Choice=r)&&(player2Choice=s))
printf("Player 1 wins!\n");
else if((player1Choice=s)&&(player2Choice=r))
printf("Player 2 wins!\n");
else if((player1Choice=s)&&(player2Choice=p))
printf("PLayer 1 wins!\n");
else if((player1Choice=p)&&(player2Choice=s))
printf("Player 2 wins!\n");
printf("Press any key to exit");
getchar();
return 0;
}
「if」ステートメントの論理「and」が問題を引き起こしている可能性があると思いますが、よくわかりません。