3195318731 发表于 2021-4-22 08:51:16

scanf储存过程详解求助!

#include <stdio.h>

int main()
{
      char c;
      int i;
      int j;

      scanf("%c%d%x", &c, &i, &j);
      printf("变量c的值是:%c\n", c);
      printf("变量i的值是:%d\n", i);
      printf("变量j的值是:%#X(%d)\n", j, j);

      return 0;


      scanf函数中,输入的数据值,是先被储存到了呢?是被储存到变量,char cint iint j吗?

笨鸟学飞 发表于 2021-4-22 11:32:27

C语言发在Python区,你也是够厉害的
scanf函数的原理:
1、用户输入的字符,会以ASCII码形式存储在键盘缓冲区;
2、每调用一次scanf函数,就从键盘缓冲区读走一个字符,相当于清除缓冲区;
3、若用户一次输入n个字符,则前n次调用scanf函数都不需要用户再次输入,直到把缓冲区的数据全部读取(清除)干净
4、调用scanf()函数时,用户最后输入的回车也会储存在键盘缓冲区;

具体可以看下面--
引自:https://www.cnblogs.com/shuaishuaidefeizhu/p/5886899.html
页: [1]
查看完整版本: scanf储存过程详解求助!