如何解决为什么我不能在 C 中用 %7.d 或其他 %x.d 打印 0
有人可以帮我用 0
打印 %x.d
,即 %1.d
、%2.d
、%3.d
等吗?
实际上,如果我用 0
打印 %7.d
并且它没有显示在终端上。您可以访问 My GitHub 以获取更多参考。
#include <stdio.h>
int main() {
int num_1 = 0;
int num_2 = 10000;
int num_3 = 999;
printf("Value of \'num_1\' is = %7.d\n",num_1);
printf("Value of \'num_2\' is = %7.d\n",num_2);
printf("Value of \'num_3\' is = %7.d\n",num_3);
return 0;
}
解决方法
printf
转换说明符 %7.d
等价于 %7.0d
,将类型为 int
的参数转换为其具有至少 0
位和用至少 7 个字符的初始空格填充它。
作为一种特殊情况,转换参数值 0
会产生无数字,并且输出将是七个空格。
您可能不希望使用这些语义,因为您希望 0
产生 0
,因此您不应使用 .
指定 precision 字段。改用 %7d
。
还要注意,\
前面的 '
在 C 字符串中不是必需的,但它在 C 字符常量 '\''
中
这是修改后的版本:
#include <stdio.h>
int main() {
int num_1 = 0;
int num_2 = 10000;
int num_3 = 999;
printf("Value of 'num_1' is = %7d\n",num_1);
printf("Value of 'num_2' is = %7d\n",num_2);
printf("Value of 'num_3' is = %7d\n",num_3);
return 0;
}
输出:
Value of 'num_1' is = 0
Value of 'num_2' is = 10000
Value of 'num_3' is = 999
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。