天天看点

字符数组的长度

int main()

{

char s1[10] = {'m','o','b','i','l'};                     // 编译器自动添加'\0'

char s2[20] = {'a','s','n','i','\0','C','+','+'};      // 自动添加'\0'

char s3[6]  = {'i','s','o','n','+','+'};                 // 不会添加'\0'

char s4[]    = {'a','a','a'};                             // 不会添加'\0'

printf("%d\n",strlen(s1));                            // 5

printf("%d\n",strlen(s2));                            // 4

printf("%d\n",strlen(s3));                            // 不确定

printf("%d\n", strlen(s4));                                            //  不确定

return 0;

}

s4的结果可能会因编译器不同而不同。我用linux下的g++以及windows下的cygwin提供的g++进行编译。个人认为linux下的g++结果比较合理。