因为判断一个字符串的结束的话一定要用一个结束符,如果没有了这个符号就不能确实复制到那里就停止或者这个字符串显示到哪里。而且用双引号引起来的 "xxx" 已经带了结束符了,所以不用手动加上,而数组里面的则不是这样。
在C语言里。最早的字符串string = 以\0结尾的 字符数组例 如字符数组 a[]="12345"实际他占6个字符最后一个字符为'\0'如果你这时a[1]='\0'然后。printf("%s", a) 他会输出1或者转成string 是变成“1”
zui为了保险起见,也为了规避Bug如果source的长度小于dest的,那么source也是字符串的情况下一般问题不大,不需要做额外的操作;但是,如果source较大,dest装不下,那么这个时候的dest可能就不再是string,这样子就与题意不符合了,此时最后面强制用'\0'结束就保证了dest也是string