C语言问题,输入一串字符时,scanf和getchar是分别读到什么结束?

大哥大姐们,请教一下,C语言问题,输入一串字符时,scanf和getchar是分别读到什么结束?
最新回答
薄荷心凉

2024-11-29 07:20:55

  1. getchar 一次只读取一个字符,不能是读取

    字符串

    直接从键盘读取,输入一个,它就接收一个。

    不管是回车,还是空格,它统统读取。

  2. scanf 可以一次读取一个字符串或多个字符串

    它是读取输入缓冲区,当输入回车后 才开始执行读取

    如果是一次读入多个字符串,读取字符串的结束 和读入格式有关系

    例如:scanf("%s %s",s1,s2) 执行时 遇到

    空格符
    后S1结束,剩余的字符串就给S2了

    scanf("%s,%s",s1,s2) 这个输入字符串时,需要用逗号将两个字符串隔开。

    ------------

    我解释的也不是很全面,希望对你有所帮助,很高兴和你一起讨论和学习C/C++

操守

2024-11-29 07:40:14

scanf,第一个参数中的%都读到数据,scanf就结束。
getchar,读一个任意字符就结束。
思檀郎

2024-11-29 07:00:41

自己试试就知道了,你问的系统函数也是人实现的,可以这样实现,也可以那样实现,不同版本也可以不同实现。
针对你提到的2个函数,应该是以回车为结束。