下のコードを見る限りchar str [32]のscanfの部分で&が指定されていません。
int* a ; scanf("%d",a);
scanfに変数を代入する場合、変数のアドレスを渡すもので、
ポインタ変数の場合、アドレスは変数名の*をとっぱっらたものをを代入するものだったはずですが、これを念頭に置いて真下のコードを見てみると、
char変数名[数字]はポインタ変数?だと思ったのですが、実際
char変数名[数字]はポインタ変数なんでしょうか。
また、
[]の中に入っている数字、char str[32];の32は何を意味しますか。
回答お願いします。
//例 構造体へのアクセス #include <stdio.h> int main(void) { struct { int i; double d; char c; char str[32]; } kouzoutai; printf("整数を入力してください。:"); scanf("%d", &kouzoutai.i); // 整数入力を kouzoutai.i に格納する。 printf("浮動小数点数を入力してください。:"); scanf("%lf", &kouzoutai.d); // 浮動小数点数入力を kouzoutai.d に格納する。 printf("文字(半角1文字)を入力してください。:"); scanf(" %c", &kouzoutai.c); // 文字入力を kouzoutai.c に格納する。 printf("文字列(半角31文字、全角15文字まで)を入力してください。:"); scanf("%31s", kouzoutai.str); // 文字列入力を kouzoutai.str に格納する。 printf("kouzoutaiのメンバの値は、%d %f %c %sです。\n", kouzoutai.i, kouzoutai.d, kouzoutai.c, kouzoutai.str); } //以下省略
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。