scanf接受键盘输入字符串后末尾是否自动加'?'

scanf接受键盘输入字符串后末尾是否自动加'?',第1张

是的,自动就加上了

#include "stdio.h"

int main(void)

{

char s[100]

scanf("%s", s)

printf("%s", s)

}

自动就加上了,不用担心

数据会保留在缓冲区。

首先要明白scanf的本质。当我们需要调用scanf输入的时候,输入的字符送到键盘缓冲区,然后scanf从中读取所规定的字符。而多输入一个零会导致接收不到。没有收到的部分并不是被抛弃,而是继续保留在缓冲区中,当需要下一次scanf时,从缓冲区读数据。

比如我们scanf中要求的是d,即数字型,那么属于数字的内容将被读取,当遇到不属于数字的内容时,扫描终止,比如我们输入的是5s5555,那么只有第一个5能接收,如果输入8555,那么也只有第一个8能收到。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11216394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存