私はCプログラミングの初心者で、プログラムを作成しているinput();
ときに、中かっこで指定された変数名が次のように入力されるように、ユニバーサル入力関数を作成できるかどうか疑問に思いました。
input(a);
結果:
a の値を入力: 10
今(入力後)次のようなプログラムでこのように書くと:
#include<stdio.h>
main()
{
int a;
float b;
char c;
input (a);
printf("value of a = %d\n",a); // 1
input(b);
input(c);
printf("value of b = %f\n",b); // 2
printf("c = %c\n",c); // 3
}
出力は次のようになり
ます。
enter value of a: 10
***value of a = 10***
enter value of b: 10.0
enter value of c: D
***value of b = 10.000000***
***c = D***
つまり、関数パラメータは、関連する変数のタイプ (char、float、int など) に応じた値を取る必要があります。たとえば、a
char の場合、入力された値はa
それに応じて保存されます。構造体を使って実装しようと思ったのですが、渡された実際のパラメーターinput();
を構造体メンバーと リンクする方法を考えることができません
更新printf()
: a、b、およびcの値が対応する型に適切に/正しく格納されていることを示すために、行1、2、および3(コメント:関数)を書きました