编写读取不同数据类型变量的宏
Writing a macro that reads variables of different data types
我有以下任务:“编写一个宏 VARIN(a,fmt)
以便宏调用
VARIN(x,lf) is equivalent to
printf("\n x = "); scanf("%lf",&x);
and VARIN(i,d) is equivalent to
printf("\n i = "); scanf("%d",&i);
其中 x 和 i 分别是一些 double 和 int 类型的程序变量。"
我很茫然。已经尝试了几个小时,我仍然无处可去。如何编写从不同数据类型读取变量的函数或宏?
假设您的示例需要 C。
你想要这样的东西:
#define VARIN( a, fmt ) printf( "\n " #a " = " ); scanf( "%" #fmt, &a );
#a
字符串化变量为文本。
int boo() {
double x;
VARIN( x, ld );
char str[10];
VARIN( str, s );
}
应该可以像上面那样使用。
我有以下任务:“编写一个宏 VARIN(a,fmt)
以便宏调用
VARIN(x,lf) is equivalent to
printf("\n x = "); scanf("%lf",&x);
and VARIN(i,d) is equivalent to
printf("\n i = "); scanf("%d",&i);
其中 x 和 i 分别是一些 double 和 int 类型的程序变量。"
我很茫然。已经尝试了几个小时,我仍然无处可去。如何编写从不同数据类型读取变量的函数或宏?
假设您的示例需要 C。 你想要这样的东西:
#define VARIN( a, fmt ) printf( "\n " #a " = " ); scanf( "%" #fmt, &a );
#a
字符串化变量为文本。
int boo() {
double x;
VARIN( x, ld );
char str[10];
VARIN( str, s );
}
应该可以像上面那样使用。