-
-
[求助]再问c++中感叹号是什么意思??
-
发表于:
2008-11-3 12:51
6942
-
新手,想写驱动,看了论坛里一段PRmonitor.sys的源码,想问关于感叹号“!”的问题:
1、 if( !strncmp( "System", (PCHAR) curproc + i, strlen("System") ))
strncmp()我知道是比较字串大小的,想知道,这句if到底是想判断什么,什么情况下返回真? 这个感叹号还是起否定的作用吗,那是否定什么条件啊?
2、DWORD a,
while(1)
{
memmove(&a,&outputbuff[0],4);
if(!a){Sleep(10);continue;} //???这里a还没被赋值,怎么参与的判断啊??
char*name=(char*)&outputbuff[8];
for(x=0;x<stringcount;x++)
{
if(!stricmp(name,strings[x])){a=1;goto skip;}
}
看了上面几句,好疑惑,变量a声明后,还未赋值,怎么就参与 if 判断了,if(!a){Sleep(10);continue;}这里是要判断a,那什么时候这句才返回真啊???
请高手指点下啊,共同学习!!
[课程]Linux pwn 探索篇!