我想得到一年的最后两位数字。例如,如果我从输入值“2012”开始,我想生成一个输出值“12”。
他们是否有任何选项fprintf
只打印最后两位数字?
只需打印模 100 的数字:
printf("%2d\n", 2012 % 100);
将打印12
。
Steve314 的想法(现已删除)很好,但没有正确呈现。示例:如果年份是 2009 年,使用 "%2d" 获取 "09" 是不正确的。“%2d”将为您提供“9”。“%02d”会得到“09”。
printf("%02d\n", year % 100);
负数也有问题。%d, %2d, %02d for (-99) 都将产生 3 个字符的答案。如果已知年份是无符号的,建议使用 'u' 而不是 'd'。如果签署的年份可能是负数,则您可能需要针对这种深奥的情况使用额外的代码。