什么是scanf中的%2d

我知道这句话的意思
scanf("%d",&x); //Reads an integer and stores it in the variable x
但这句话的作用是什么
scanf("%2d",&x);
我试着寻找这个,但找不到答案。 我想知道内部也会发生。

这是两位数字:

 int n = 0; scanf ("%2d", &n); printf ("-> %d\n", n); 

12 – > 12

88657 – > 88

“%”符号后面和您希望读取的数据类型之前的数字表示该特定类型数据的最大大小。

在读取整数(%2d)时,它只允许长度为两位的整数。 如果您要读取50个字符长的数组,则应使用%50s。 这是一样的想法。

 int number = 0; scanf("%2d", &number); printf("%d", number); 

如果用户为scanf()函数传递21,则数字21将存储在变量编号中。 如果用户传递的信息超过21,即987,则只存储前2位数字 – 98。