永发信息网

printf (“%2d*%2c%1d”,x,y)是怎么输出的?

答案:3  悬赏:20  手机版
解决时间 2021-03-13 23:30
  • 提问者网友:原来太熟悉了会陌生
  • 2021-03-13 04:10
printf (“%2d*%2c%1d”,x,y)是怎么输出的?
最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-03-13 05:47
printf (“%2d*%2c%1d”,x,y)
有格式输出。
%2d -- 按2位整型格式 输出 x 的值,2位不够则按实际需要的位数输出。
* -- 印 1个 星号 字符
%2c -- y 按它数值对应的 ASCII 字符,印出此字符。占位2位,(实际只要1位,另一位空白)
%1d -- 因没有对应输出变量,可能打印一个大数(随机,由编译器决定)。追问我做的是二级真题,具体题目忘了。大约是输入的是1234567,输出的时候没带*号额。追答输入的是1234567, -- 输入格式是什么?
输出的时候没带*号 -- 你上面给的格式有星号。
=========================================
我猜,题目是输入int x,y; scanf("%2d%*2c%1d",&x,&y); 拍入 1234567
输出是:printf("%2d %1d",x,y);
-----------------
输入 ("%2d%*2c%1d -- 读2位整数,跳2个字符,读1位整数。
输入1234567, x 读入12,跳2个字符34,读1位整数5
printf("%2d %1d",x,y); 打印出 12 5
全部回答
  • 1楼网友:蕴藏春秋
  • 2021-03-13 08:15
%2d对应x,2的作用是保证输出的数据占不少于2个字符的位置,由于没有x的具体数据,无法预料会是怎样
%2c对应y,2的作用和上面的相同,也是由于没有y的具体数据,无法预料会输出什么
%ld没有对应的参数,一般默认输出0,这个依赖于编译器的具体实现
  • 2楼网友:蕴藏春秋
  • 2021-03-13 07:14
%2d对应x输出,若x小于等于两位,则输出两位,默认有对齐,大于两位则原样输出。*号原样输出,%2c对应y,占两个字节位置的字符,右对齐。%1d没有对应项,结果不可预知。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯