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++結果比較合理。