C 空字符和新行
C 空字符和新行,c,C,scanf功能是否会在用户输入的末尾自动添加空字符?如果是这样的话,当您单击enter或space时,它是否也会“消耗”新行或制表符的字符?我想知道这一点,因为据我所知,获取读取输入,直到用户按enter键,然后添加空字符,并丢弃由enter引起的新行字符。所以我问了这个问题的是一些项目,包括: 这不是一个完整的程序 scanf("%s", array1); gets(array2); 现在,在这种情况下,GET将读取新行的字符并停在那里,在用户没有实际输入的情况下终止程序。所以基本上我要问的
scanf
功能是否会在用户输入的末尾自动添加空字符?如果是这样的话,当您单击enter或space时,它是否也会“消耗”新行或制表符的字符?我想知道这一点,因为据我所知,获取
读取输入,直到用户按enter键,然后添加空字符,并丢弃由enter引起的新行字符。所以我问了这个问题的是一些项目,包括:
这不是一个完整的程序
scanf("%s", array1);
gets(array2);
现在,在这种情况下,GET将读取新行的字符并停在那里,在用户没有实际输入的情况下终止程序。所以基本上我要问的是,在上面提到的细节方面,scanf和get之间有什么区别
注意:我最近了解到应该完全避免使用gets,但由于我的书和我的老师经常使用它,我现在必须坚持使用它。是的,不这样做是毫无意义的。不要使用
gets
或scanf(“%s”)
。它们是安全漏洞。这回答了您的问题吗?正确的拼写是“空字符”。null
是一个宏,它扩展为空指针常量,与空字符完全无关。相关。