您的位置首页百科问答

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

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

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