作业帮 > 综合 > 作业

急.char a[12]={'a','b','c','d','e','f','g',}; strlen (a)的结果为多

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 07:05:52
急.char a[12]={'a','b','c','d','e','f','g',}; strlen (a)的结果为多少?
答案是:7
strlen(a)函数的功能是返回a的长度,不包括结束符NULL. (这是百度百科那里的解释)
实际用VC++运行了答案是7 sizeof(a)=12;
如果是楼下那种情况:
char a[] = {'a', 'b', 'c', 'd', 'e', 'f','g' };
strlen(a)是不确定的,此时字符'g'后面不存在'\0',所以sizeof(a)=7
如果手动在'g'后面添加'\0',变成
char a[] = {'a', 'b', 'c', 'd', 'e', 'f','g','\0' };
此时strlen(a)是确定的,值为7,而sizeof(a)=8