このプログラムでコンパイルしたのですが、else以下の人2の勝ちです。という文が出てこないのですがどこか修正するところがあれば、どなたか指摘の方をお願いします。
/*
ジャンケンの勝敗を表示
*/
#include <stdio.h>
int main(void)
{
int n1, n2;
printf("グーなら0チョキなら1パーなら2で表示。");
printf("人1:"); scanf("%d", &n1);
printf("人2:"); scanf("%d", &n2);
if(n1 == n2) {
printf("あいこです。\n");
} else if ("n1 == 0 && n2 == 1 || n1 == 1 && n2 == 2 || n1 == 2 && n2 == 0") {
printf("人1の勝ちです。\n");
} else {
printf("人2の勝ちです。\n");
}
return (0);
}
if文のelseについて
Re: if文のelseについて
else if の箇所の条件式が,文字列になっています。
文字列リテラルはNULLではないので,常に真となるため,"人2の勝ちです。\n"を表示することがなくなります。
文字列リテラルはNULLではないので,常に真となるため,"人2の勝ちです。\n"を表示することがなくなります。
Re: if文のelseについて
コードはBBcodeを有効にした状態でcodeたぐで囲んでいただけると、見やすくてありがたいです。
・17行目の条件式の中の"を全て削除してください。
・17行目のifの後ろの全角スペースを削除してください。kkk さんが書きました:具体的にどう直せばいいですか?
初心者なのでどう直せばいいかあまり理解できてないんですみません(:_;)
・17行目の条件式の中の"を全て削除してください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)