#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char compliance[256] = {'\0'};
if(compliance == NULL)
{
printf("compliance is null \n");
return 0;
}
printf("length of compliance %zd \n",strlen(compliance));
return 0;
}
length of compliance 0
int main(int argc, char *argv[])
{
char compliance[256] = {'\0'};
memset(compliance,0,256);
if(compliance == NULL)
{
printf("compliance is null \n");
return 0;
}
printf("length of compliance %zd \n",strlen(compliance));
return 0;
}
輸出 長度遵守0
正如你們許多人所指出的那樣,我想用memset的(而不是memcpy的)。但仍然不明白爲什麼在第二個程序中合規性不是NULL?或換句話說我如何使它成爲NULL?
我很確定你想使用'memset',而不是'memcpy',就像我確定的那樣,在你的初始化器存在的情況下它是完全不需要的。 – WhozCraig