定义字符串数组时,缺少'\0'所带到的输出影响,求解,有图如下
定义字符串数组时,缺少'\0'所带来的输出影响,求解,有图如下
本人因对字符串数组定义的遗忘,便编了几行代码,果不其然就出现问题,接下来,上图:



为什么定义字符串数组num2时,没有数组下标,也没有在{}加上'\0'时,会出现这种情况?
但在定义了数组下标(大于数组内元素个数)时,仍未加上'\0'时就是一个正常输出了?
------解决思路----------------------
strlen()只有在遇到 '\0' 才结束,所以strlen(a)完全是未知的,
而你定义了数组的大小,它会默认填充0
“123456789”,这个作为一个字符串也会在末尾加上 '\0'
本人因对字符串数组定义的遗忘,便编了几行代码,果不其然就出现问题,接下来,上图:
为什么定义字符串数组num2时,没有数组下标,也没有在{}加上'\0'时,会出现这种情况?
但在定义了数组下标(大于数组内元素个数)时,仍未加上'\0'时就是一个正常输出了?
------解决思路----------------------
strlen()只有在遇到 '\0' 才结束,所以strlen(a)完全是未知的,
而你定义了数组的大小,它会默认填充0
“123456789”,这个作为一个字符串也会在末尾加上 '\0'