首页
社区
课程
招聘
[旧帖] [求助]c++中感叹号是什么意思?? 0.00雪花
发表于: 2008-11-3 12:02 10322

[旧帖] [求助]c++中感叹号是什么意思?? 0.00雪花

2008-11-3 12:02
10322
在一个驱动源码里,有这样一句:
     if( !strncmp( "System", (PCHAR) curproc + i, strlen("System") ))

其中strncmp()函数意思我知道是/比较字符串s1和s2的前n个字符,如果s1大与s2则,函数返回值>0.我的问题是上句里!感叹号是起什么作用,是判断返回值是不是零吗??

我是新手,请高手随便解答下啊。
还有下面类似几句,都帮忙告诉下,if 语句用!感叹号,是想判断出什么结果:
1、if (!NT_SUCCESS(ns)); 什么条件下为真啊??
.....

2、ULONG a;
   a = 1;
   if (!a);这个什么条件下为真啊??
.....

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
!是取反。
对于数字,非0就是true,0就是false。
a=1,那么a用在 if(a) 这样的地方就是true,而!a就是false了。
!就是看他后面的值,原来是true,加上!就变成false;原来是false加上!就变成true。
2008-11-3 12:26
0
游客
登录 | 注册 方可回帖
返回
//