c语言关于字符串最后加不加✀尀0✀的添加问题?

2025-05-15 06:04:57
推荐回答(1个)
回答(1):

  1. gets函数是专门用来输入字符串的,当最后打入'\n'时前面的输入才起作用,而且gets会把最后的'\n'接收了并转换成'\0'存入接收字符串的空间。所以用gets不用加入'\0'。

  2. scanf在用%s控制时也接收字符串,它也能在输入'\n'后把前面输入的字符存入接收空间并在后面自动加一个'\0',所以也不用人工再添加'\0'。不过scanf这时不会接收'\n',会把'\n'遗留在输入缓冲区里,在后面接着要接收字符的话会引起出错,需要当心。

  3. getchar不是接收字符串的,一次只接收一个字符,当要把这些字符组织成字符串时,要人工在最后加一个'\0'。