質問
構造体の読み込みがうまくいきません。char type では英大文字を1文字読み込みたいのですが、scanfを用いた構造体のchar typeの読み込みがうまくいってないみたいです。ここを文字列の読み込みに変更した場合はうまくいきました。解説お願いします。
該当のソースコード
c
1#include <stdio.h> 2 3typedef struct{ 4 int price; 5 int weight; 6 char type; 7 long int date; 8 char name[21]; 9}Shop; 10 11 12 13int main(void){ 14 int i,n; 15 scanf("%d",&n); 16 Shop S[n]; 17 for(i=0;i<n;i++){ 18 scanf("%d%d%c%ld%s",&S[i].price,&S[i].weight,&S[i].type,&S[i].date,S[i].name); 19 } 20 21 for(i=0;i<n;i++){ 22 printf("%d %d %s %d %s\n",S[i].price,S[i].weight,S[i].type,S[i].date,S[i].name); 23 } 24 return 0; 25}
補足情報(FW/ツールのバージョンなど)
実行にはgccを使っています。
質問を編集して、実際の入力データの例を追記してください。
回答3件
あなたの回答
tips
プレビュー