我有以下代码:

char temp[32] = "";
sprintf(temp, "%02s", "A");

但它的警告为:Warning 566: Inconsistent or redundant format char 's',然后我将代码更改为:sprintf(temp, "%2s", "A");,警告消失了,有什么区别?

最佳答案

%0格式的意思是“0-填充”,但是您不能将其与 undefined 的字符串格式说明符(s)结合使用。

参见the manual page:

关于c - C语言中的 “%02s”和 “%2s”有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17165877/

10-11 09:22