我想获得一年的最后两位数字。例如,如果我以输入值“2012”开始,我希望生成输出值“12”。
它们是fprintf
中的任何选项,它只打印最后两位数字吗?
答案 0 :(得分:6)
只需打印模数100:
printf("%2d\n", 2012 % 100);
将打印12
。
答案 1 :(得分:2)
Steve314的想法(现已删除)很好,但没有正确呈现。示例:如果年份为2009年,使用“%2d”获取“09”则不正确。 “%2d”会让你“9”。 “%02d”会让你“09”。
printf("%02d\n", year % 100);
还有负数问题。 (-99)的%d,%2d,%02d都将产生3个字符的答案。如果知道年份是未签名的,建议使用“u”代替“d”。如果签署的年份可能是负面的,那么您可能需要额外的代码来解决这种深奥的情况。