123666666 发表于 2022-4-4 02:55:06

内联函数那节课中可变参数为什么照打也报错?

#include<stdio.h>
#define PRTINT(format,...) printf(# format,##__VA_ARGS__)
int main(void)
{
      PRINT(num=%d\n,520);
      PRINT(Hello FishC!\n);

      return 0;
}


报错
test120.c:5:8: 错误:‘num’未声明(在此函数内第一次使用)
PRINT(num=%d \n,520);
      ^
test120.c:5:8: 附注:每个未声明的标识符在其出现的函数内只报告一次
test120.c:5:12: 错误:expected expression before ‘%’ token
PRINT(num=%d \n,520);
            ^
test120.c:5:12: 错误:程序中有游离的‘\’
test120.c:6:8: 错误:‘Hello’未声明(在此函数内第一次使用)
PRINT(Hello FishC! \n);
      ^
test120.c:6:14: 错误:expected ‘)’ before ‘FishC’
PRINT(Hello FishC! \n);
            ^
test120.c:6:14: 错误:程序中有游离的‘\’

小甲鱼 发表于 2022-4-4 03:12:08

肯定是有哪里照着都打错了呀,比如 # format,中间不应该是有空格的吧?{:5_97:}

wp231957 发表于 2022-4-4 06:08:46

PRINT后面连引号有没有吗

傻眼貓咪 发表于 2022-4-4 08:14:35

PRTINT 和 PRINT 不一样吧?你注意看一下

FK二十一 发表于 2022-4-4 15:51:03

小甲鱼 发表于 2022-4-4 03:12
肯定是有哪里照着都打错了呀,比如 # format,中间不应该是有空格的吧?

哦吼!!!老师啥时候出带你学C带你飞第二三集啊,想学学嵌入式呢{:5_109:}{:5_109:}{:5_109:}
页: [1]
查看完整版本: 内联函数那节课中可变参数为什么照打也报错?