作业帮 > 综合 > 作业

void main() { char a[10]={2,12,1,4,5,7,8,9,0,11} printf("%d"

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 18:11:08
void main() { char a[10]={2,12,1,4,5,7,8,9,0,11} printf("%d",strlen(a)); }
这个结果为8,将里面元素0改成非0的,结果就为14,求指教,为什么
数组越位了,你少了一个结束符的控件,strlen是以结束符(0)为判断依据的,所以为0的时候就是8,不为零的时候其实是一个随机的结果,主要看后面的内存结构.