年の下2桁を取得したい。たとえば、入力値「2012」で開始した場合、出力値「12」を生成したいとします。
fprintf
最後の 2 桁のみを出力するオプションはありますか?
Steve314 のアイデア (現在は削除されています) は良いですが、正しく提示されていません。例 : 年が 2009 の場合、「%2d」を使用して「09」を取得するのは正しくありません。「%2d」は「9」を取得します。「%02d」は「09」を取得します。
printf("%02d\n", year % 100);
また、負の数の問題もあります。%d、%2d、%02d for (-99) はすべて 3 文字の回答になります。年が署名されていないことがわかっている場合は、「d」の代わりに「u」を使用することをお勧めします。署名された年が負の可能性がある場合、この難解な状況のために追加のコードが必要になる場合があります。