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

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/06 09:52:34
C语言 最后 s[j]='\0'; 为什么加这步?
xooPƿʕdٖZR@ao T1ds㏈ ME&Q+) ۇ-vK_=y~9M)wh" "~6;4-qW߻oտ :N(ےi&Cf^I2qaPF72B ɒ> )YFW4YvKX1t6xYb$4^U1QpXb"% 饩$8da%a+-hb"xɢPU%M EQ޻)pM:.Hd3# C~+>s&[i9&a\[S,][U39.KM5RhZxI%~4m<3pS8'|sUd;H*E4;4m{=[.+z=#7M}\H%{qL>>4ԯe_YU^jg=Ҽŝ4q}&%AgmܟKJRo: %Ӑ?/xM

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' 为止.