私はここで何をしているのですか? url = NULL
を設定した後、NULLがあるかどうかをif(strlen(url)!=0)
またはif(url!=NULL)
で判断すると、プログラムがクラッシュするか、または中断します。私はそれが非常に簡単なことだが、私は間違ったことをしている。CでのNULL比較の誤り
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
char* url="/v1.0/fafffsdf" ;
url=NULL;
printf("%s\n",url);
if(url!=0)
{
printf("It ain't NULL\n");
}
else
{
printf("It's NULL\n");
}
}
'\ 0'のNULL文字とNULLポインタを示すNULLの間で混乱していますか? – Nick
マイナーニット、省略時のヌル文字は1つのLを持つ 'NUL'です。私は' NULL'マクロとの混乱を避けるために便利です。私はどちらが最初に来たのか分からない(* ASCII 1963、C 1972 ...私は私の答えがあると思う*)。そして、どちらが多かれ少なかれ混乱しているのか分かりません。 – user7116