質問: rand() % 101; void show(p);//発生した乱数を2倍したものをtwo関数を用いて表示(pをアドレスの形で引数にする) p++; } printf("\n"); getchar(); } void show(int *n){ printf("%d ", *n);//ポインタnが示す数値を表示 } void two(int *m){ printf("%d ", (*m) * 2);//ポインタmが示す数値を2倍したものを表示 } ### 試したこと 関数の引数を入れる場所をアドレスではなく値型にした( void show(int) というプロトタイプで引数を代入する時は void show(*p) とした)が「*」の場所に「型指定子が必要です」と出てエラーになる。 ### 補足情報(言語/FW/ツール等のバージョンなど) C言語 コンパイラはVisualStudio2013
回答: ご参考として ``` #include #include #include void show(int*); void two(int*);//どちらの関数もアドレスの形を引数にとる void main(){ int a[5]; int i; srand((unsigned)time(NULL)); printf("発生した乱数:"); for (i = 0; i < 5; i++){ *(a+i) = rand() % 101; show(a+i);//発生した乱数をshow関数を用いて表示(pをアドレスの形で引数にする) } printf("\n2倍した値:"); for (i = 0; i < 5; i++){ two(a+i);//発生した乱数を2倍したものをtwo関数を用いて表示(pをアドレスの形で引数にする) } printf("\n"); } void show(int *n){ printf("%d ", *n);//ポインタnが示す数値を表示 } void two(int *m){ printf("%d ", (*m) * 2);//ポインタmが示す数値を2倍したものを表示 } ```