A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

刚才看到一个程序     麻烦问下%2d    %2s   什么意思  求大神指导

7 个回复

正序浏览
这里是printf还是scanf
回复 使用道具 举报
2 表示用页面占2个空格位输出,如果原长度不足2位则用空格补齐,如果多于2位,则原样输出
回复 使用道具 举报
这里涉及到printf()的转换说明修饰符知识,可以在%和定义转换字符之间通过插入修饰符对基本的转换说明加以修改。
你提到的%2d,它指示应该产生宽度为2的字段,但如果超过这个字段,会自动扩展以适应数字的长度。%2s同理可以分析。
回复 使用道具 举报
%2d表示以整数格式输出,中间的2表示如果输出不足两位则以空格补齐,多于两位则截取两位;%*2s表示跳过两个字符;%1d表示以整数格式输出一位。只是参考。楼主应该给出上下文让我们更好理解。
回复 使用道具 举报
学习了
回复 使用道具 举报
分别打印出x,y的内存地址,%2d读入两字符并打印出来,%*2s,忽略读到的两个输入的字符
回复 使用道具 举报
%2d表示输出时这个int型的数占2个字符,不足就填空格,多出就无视它, 例如:你输出的数是2,他会在2前面加一个空格输出为 " "2 如果你输出的数值超过了了两位 这个%2d的效果就等同于%d。 这类一般用于数据输出的对齐
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马