一、写出BOOL型与0值比较的if语句
if(flag);
if(!flag);
-------------------------------------------------------------------
二、写出float型与0值比较的if语句
float EPSINON = 0.00001;
if(flag>EPSINON);
if(flag<EPSINON && flag>-EPSINON);
因为计算机在处理浮点数时有一些小误差。
此处EPSINON的值可根据自己工程所需要的精度而定。
---------------------------------------------------------------------
三、写出指针与0值比较的if语句
if(p==NULL);
if(p!==NULL);
---------------------------------------------------------------------
四、
void func(char str[10]){
}
在32位系统之下,当数组str变成参数的时候,系统会将其当成指针使用。因此sizeof(str) = 4;
---------------------------------------------------------------------
五、
void *GetMemorry(void)
{
*p = "hello world";
return p;
}
void man()
{
char *p = NULL;
p = GetMemorry();
}
此时p指向的是一堆乱码。因为在GetMemorry里,p指向的是栈区,在函数结束后,被系统回收。