#include <stdio.h>
int main(){
int x,y;
scanf("%2d%*2d%ld",&x,&y);
printf("%d%d\n",x,y);
return 0;
}
%*2d用于跳过输入中的2位数字;
第一个%2d用于将输入的前2位的整数赋值给x;
后面的%ld用于从输入获取一个长整型整数,这里是使用%ld获取一个长整型整数赋值给int变量,应该是不太准确,因为它对应的是long int ,但在测试中发现可以将int范围内的值赋值给变量y。
测试如下:
参考链接:
#include <stdio.h>
int main(){
int x,y;
// http://ascii.wjccx.com/
// https://zhidao.baidu.com/question/1539807065447949067.html
// https://blog.csdn.net/kl1411/article/details/57462632
// https://blog.csdn.net/Adz1119/article/details/128209859
scanf("%2d%*2d%ld",&x,&y);
printf("%d %d\n",x,y);
return 0;
}
%*2d
是C语言中的格式控制符,用于输出一个占位符。下面是详细解释和示例代码:
%
:这是格式控制符的开始符号。 *
:表示跳过这个参数,不进行输出。 2d
:表示输出一个整数,并且占据2个字符的宽度。
具体来说,%*2d
的作用是输出一个占位符,占据2个字符的宽度,并跳过对应参数的输出。
示例代码:
#include <stdio.h>
int main() {
int num = 123;
printf("%*2d\n", 4, num);
return 0;
}
上面的代码中,%*2d
将输出一个占位符,并占据2个字符的宽度,结果如下:
123
其中,4
代表占位符要占据的宽度,num
是要输出的整数。所以最终输出结果为3个空格和数字123。
希望上述解答能够帮助到你,如果还有任何疑问,请随时追问。