当我提供不在列表中的修饰符时,我试着提供修饰符%k,它打印11,strftime做什么?
发布于 2015-09-04 10:15:34
来自strftime的C标准
6如果转换说明符不是上述之一,则行为是未定义的。
您可以看到格式说明符列表的strftime。因此,您得到的是一个未定义的行为。
看手册,上面写着%k
%k小时(24小时时钟)为十进制数(范围0至23);单数前面为空白。(另见%H.)(Z)
发布于 2015-09-04 10:17:33
%k-小时作为十进制数,使用24小时时钟(如%H),但填充空白(范围从0到23)。
但是这个格式是一个GNU扩展。见此处列出的说明符。
如果使用未列出的说明符,代码将执行未定义的行为。
https://stackoverflow.com/questions/32395458
复制相似问题