我知道这个声明的意思
scanf("%d",&x);
但这个语句是做什么的呢?
scanf("%2d",&x);
我尝试搜索了一下,但没有找到答案。我也想知道发生了什么。
这是一个两位数:
int n = 0;
scanf ("%2d", &n);
printf ("-> %d\n", n);
12 -> 12
88657 -> 88
scanf("%2d.%d", &x, &y);
因为你要进行两次转换。记得检查返回值。 - unwind23.000567
和23.567
都会在第二个变量中给出567
;但是,这两个字符串的含义是非常不同的。 - Jonathan Lefflerint number = 0;
scanf("%2d", &number);
printf("%d", number);
如果用户在scanf()函数中传递了21,那么数字21将被存储在变量number中。如果用户传递的数字超过21位,例如987,只有前两个数字会被存储下来 - 98。
scanf()
函数的手册页面。这并不难找到。阅读它,多次阅读。 - unwindscanf()
中的%nd
读取至少n
位数长度的十进制整数。 - Sunil Bojanapally