【问题标题】:Writing a macro that reads variables of different data types编写读取不同数据类型变量的宏
【发布时间】:2019-12-14 17:49:35
【问题描述】:

我有以下任务:“写一个宏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 macros printf scanf


    【解决方案1】:

    假设您的示例想要 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 );
    }
    

    应该可以像上面那样使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-18
      • 1970-01-01
      • 2016-05-14
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      相关资源
      最近更新 更多