C语言 最后 s[j]='\0'; 为什么加这步?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 20:56:15
C语言 最后 s[j]='\0'; 为什么加这步?

C语言 最后 s[j]='\0'; 为什么加这步?
C语言 最后 s[j]='\0'; 为什么加这步?

C语言 最后 s[j]='\0'; 为什么加这步?
\0' 是 C 语言字符串约定的结束符,printf()、strlen() 等函数看到 '\0' 就知道这个字符串结束了.
gets() 函数也会按照 C 语言的约定在读取的字符末尾加上一个 '\0',所以程序中 for() 的测试部分可以用 s[i] != '\0' 来判断字符串还没结束.
不加 '\0' 的话,printf() 函数不知道字符串何时结束,会把后面的垃圾字符也打印出来,直到刚好遇到一个 '\0' 为止.