c言語の標準入力と構造体に関する質問です。
例えばトランプのカードなどを入力する際に入力が"S3"や"D10"などで与えられるとして、これを構造体Cardの配列に保存していきたいです。
入力が一つの時は下記のようなコードでうまくいっています。
C
1#include "stdio.h" 2#include "stdlib.h" 3 4typedef struct Card Card; 5struct Card{char mark;int num;}; 6 7int main(){ 8 Card x[100]; 9#入力は例えば"S3"など 10 scanf("%c%d",&x[0].mark,&x[0].num); 11 printf("%c %d",x[0].mark,x[0].num); 12 return 0; 13}
これをn枚入力に拡張したコードを実行すると思ったように動作してくれません。
(入力は初めカード数nを入力してその後n枚分H3 K6...などを入力しています。
ex:
5
H4 C9 S4 D2 C3
)
C
1#include "stdio.h" 2#include "stdlib.h" 3typedef struct Card Card; 4struct Card{char mark;int num;}; 5 6int main(){ 7 int n,i; 8 Card x[100]; 9 10 scanf("%d",&n);#カード数n 11 for(i=0;i<=n;i++){ 12 scanf("%c%d",&x[i].mark,&x[i].num); 13 } 14 for(i=0;i<=n;i++){ 15 printf("%c %d",x[i].mark,x[i].num); 16 } 17 18 return 0; 19}
コードのミスや改善法などを教えていただければ幸いです。よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/01 09:19