C语言 当字符串长度改变后,需要手动设置'\0'符号?

请问C语言中当字符串长度改变后,需要手动设置'\0'符号吗?
如果真的是的话,这样就很麻烦了,不能用编译器自动生成吗?

有个题目,字符串的后面加了2个字符,长度发生了变化,要填入一个代码
答案描述为
由于字符串的长度发生了变化,所以需要设置新的结束标志, 空(2) 处
应填入 a[n+2] ='\0'

第1个回答  2015-10-06
字符串都是以\0结尾的,\0是结束符。像char s[]="Hello"其实是6个字节,结尾自动加\0,这样像printf之类的才能识别。连接字符用的是strcat函数,是自动加上\0的。如果一定要手动改,则需要自己加\0。本回答被提问者采纳
第2个回答  2015-10-06
用库函数就好了。虽然逃不过C语言本身的限制(C语言没有真正的“字符串类型”,通常使用的字符串只是由一串字符组成的数组而已;数组作为参数的时候一定会退化成指针,函数无法用合法手段获知作为参数的数组的长度),但能做到的辅助工作库函数还是都会做的……追问

也就是说有库函数可以实现自动添加'\0'?
具体是哪个函数呢?

本回答被网友采纳
相似回答