char RPS[][10] = {"グー", "チョキ", "パー"};
の要素数を9にして、チョキという文字列を出力させると
”あなたはチョキパーを出しました” と表示されます。要素数を10にすると
”あなたはチョキを出しました” とちゃんと表示されます。これは何故なんでしょうか?
C
1#include <stdio.h> 2#include <stdlib.h> 3 4int main() 5{ 6 char RPS[][10] = {"グー", "チョキ", "パー"}; 7 int iHands; 8 int oppHands; 9 10 while (1) { 11 printf("0: グー, 1: チョキ, 2: パー \n"); 12 scanf("%d", &iHands); 13 printf("あなたは%sを出しました \n", RPS[iHands]); 14 oppHands = rand() % 2; 15 printf("%d", oppHands); 16 if (iHands + 1 == oppHands || iHands - 2 == oppHands) { 17 printf("相手は%sを出しました \n", RPS[oppHands]); 18 printf("あなたの勝ちです \n"); 19 break; 20 } 21 else if (iHands == oppHands) { 22 printf("相手も%sを出しました \n", RPS[oppHands]); 23 printf("引き分けです \n"); 24 } 25 else { 26 printf("相手は%sを出しました \n", RPS[oppHands]); 27 printf("あなたの負けです \n"); 28 break; 29 } 30 } 31}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/29 11:36