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

NULL和

2012-03-18 
求助NULL和#includestdlib.h#includestdio.hint strcmp(const char *p1,const char *p2){while(*p1!N

求助NULL和
#include<stdlib.h>
#include<stdio.h>
int strcmp(const char *p1,const char *p2)
{
while(*p1!=NULL&&*p2!=NULL)
{
if(*p1==*p2)
{p1++;p2++;}
else if(*p1>*p2)
return 1;
else if(*p1<*p2)
return -1;
}
if(*p1&&!(*p2))
return 1;
else if(!(*p1)&&(*p2))
return -1;
else
return 0;
}
main()
{
char a[]="Hell";
char b[10]="Hell";
int n;
n=strcmp(a,b);
printf("%d\n",n);
}
本函数就是实现strcmp(),而在蓝色一行中的NULL改为‘\0’时编译和连接完全正确,而用NULL 在编译时就会提出警告。
这到底是为什么呢??

[解决办法]
参数没有检查是否是NULL 



探讨

引用:
这个算法不对吧


*p1 和*p2来比较

不是while(p1 &amp;amp;&amp;amp;p2)



引用:

NULL is the null-pointer value used with many pointer operations and functions

C/C++ ……

热点排行