c中的scanf和printf

1.scanf:接收用户输入的函数(格式化输入),

  本质:首先scanf会到缓存中寻找有没有数据,如果没有数据就等待用户输入(阻塞),只到用户输入数据并按下回车,

       一旦按下回车,scanf就会从缓存中取数据,

     然后判断所取的字符是否与对应的占位符匹配,如果不匹配,就不会把值赋给变量地址,否则就赋值给变量地址,

       最后将接收了的字符个数返回。

2.printf:输出内容到控制台(格式化输出):

  本质:输出的的时候首先要将内容存入到缓存流中(输出流),只有遇到结束符号时,printf才会将内容输出,否则不会

        输出,一般的结束符有 ,scanf函数,和程序的结束。

3.解决scanf换行产生的问题:(输入字符一般都会敲回车,进入下一步,而这个回车也是一个字符,也会被scanf接收)

方式一:用char类型的临时变量接收一个换行字符

方式二:用getchar函数,接收 。

4. getchar函数:用于从缓存中取一个字符,如果缓存中没有数据,就阻塞等待用户输入,与scanf不同的是,该函数只获得一

        个字符,并返回其ascll值

原文地址:https://www.cnblogs.com/hui1107464497/p/4550242.html