3名分の名前と年齢を入力し、出力させるプログラムを作りたいのですが、エラーが出ないものの、上手く出力されません。調べてみたのですが、解決策が分からなかったので質問させていただきます。
発生している問題・エラーメッセージ
↓のように、名前を3名分入力した後に、enterを押しても、printf("年齢...\n");が出ず、年齢が入力出来ない。その後、適当な文字を入力すると、『年齢...』から結果までが一気に出力されてしまう。
名前...
aaa
bbb
ccc
a
年齢...
名前[i]=aaa 年齢[i]=21882
名前[i]=bbb 年齢[i]=21882
名前[i]=ccc 年齢[i]=21882
該当のソースコード
#include<stdio.h> #define NUM (3) typedef struct{ char name[10]; int age; }people; void infunc(people *data); void outfunc(people *data); int main(void){ people data[NUM]; infunc(data); outfunc(data); return 0; } void infunc(people *data){ int i; printf("名前...\n"); for(i=0;i<NUM;i++){ scanf("%s",data[i].name); } printf("年齢...\n"); for(i=0;i<NUM;i++){ scanf("%d",&data[i].age); } return; } void outfunc(people *data){ int i; for(i=0;i<NUM;i++){ printf("名前[i]=%s 年齢[i]=%d\n",data[i].name,data[i].age); } return; }
回答1件
あなたの回答
tips
プレビュー