前提・実現したいこと
プログラミングを学んで2、3週間くらいのものです。
C言語で構造体配列にscanf関数を使い入力したのですが第2引数でエラーが出ます。
一応エラーが出なくなったのですがなんで成功するのかがわかりません。
scanf関数は第2引数にアドレスである必要があると考えています。
data[i].nameとdata[i].salary_totalは変数
発生している問題・エラーメッセージ
演算子 -> または ->* は、ポインタ型にではなく "MEMBERS" に適用されます。 (二つとも同じです)
該当のソースコード
C言語
1typedef struct { 2 char name[126]; 3 int salary_total; 4 5}MEMBERS; 6 7void Input_date(MEMBERS *data,int a) 8{ 9 do{ 10 printf("人数を入力してください(10人以下):"); 11 scanf("%d",&a); 12 }while(a < 1 || a > 10); 13 for(int i = 0; i < a;i++){ 14 printf("%d人目の名前を入力してください:",i+1); 15 scanf("%s",&(data[i]->name)); /*成功の場合は第二引数が data[i].name */ 16 printf("%d人目の給料を入力してください:",i+1); 17 scanf("%d",&(data[i].salary_total)); /*成功の場合は第二引数が data[i].salary_total */ 18 } 19 return ; 20} 21
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
vscodeを使用しています。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/07 07:00