为啥从13行之后的代码像是失效了,print1没打印,print总费用也没打印。
输出里加个换行或空格
参考snprintf函数类似
#define LOG(format, ...)\
{\
printf("%s, %d" format, __FUNCTION__, __LINE__, ##__VA_ARGS__);\
}
其实 `__VA_ARGS__` 就是一个可变参数的宏,替代上面的...
`##__VA_ARGS__` 就是当可变参数个数为0时,将参数列表中前面多余的,去掉.
如果不加##
, LOG("TEST")
会被替换成 printf("%s:%d" "TEST", func, LINE, );
,从替换结果看多了一个 ,
号。我们需要把这个 ,
去掉所以得使用 ##
去删除
对于问题中提到的程序没有输出打印结果的问题,需要进一步检查是否正确调用了print1函数,并且该函数是否正确定义和实现。如果代码中存在语法错误或逻辑错误也可能导致该函数无法正确执行,可以使用调试工具或打印调试信息进行排查。
对于总费用打印指令没有输出结果的问题,可能是该变量未被正确赋值或存在数据类型错误,需要检查相关代码并进行修改,可以使用调试工具或打印调试信息进行排查。同时,也需要确保该打印指令被正确调用并在正确的位置执行。
针对问题的具体情况,需要查看代码才能给出准确的解决方案。