首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于ASSERT,该如何处理

2012-02-07 
关于ASSERT#defineassert(p)if(!(p)){fprintf(stderr,\Assertionfailed:%s,file%s,line%d\n ,\#p,__FILE

关于ASSERT
#define   assert(p)if(!(p)){fprintf(stderr,\
"Assertion   failed:   %s,   file   %s,   line   %d\n ",\
#p,   __FILE__,   __LINE__);abort();}


其中的   #p   是什么意思

[解决办法]
assert(1==0);//假设语句在main.c的第17行

==========================================
输出结果为
Assertion failed: 1==0, file main.c, line 17

[解决办法]
将对应的表达式 p 的文本代码表示 "p " 替换进来。
[解决办法]
# 操作符将参数转换为 字符串
[解决办法]
# 是宏指令,只能在宏里面使用

热点排行