它始终为null终止.
引用C11,章节§7.24.3.2,(强调我的)
C11
该strncat函数追加的字符数不超过n字符(空字符及其后面的字符未附加),从指向的数组到s2指向的字符串的末尾s1.最初的字符s2覆盖了结尾处的空字符s1.终止空字符始终附加到结果.
strncat
n
s2
s1
而且,脚注
因此,可以在指向的数组中结束的最大字符数s1是 strlen(s1)+n+1.
strlen(s1)+n+1