【发布时间】:2014-12-08 18:39:34
【问题描述】:
所以我试图在 C 中打印出一个字符串,当我打印出它时,我总是在字符串的末尾得到额外的字符。 代码:
char binaryNumber[16] = "1111000011110000";
printf("binary integer: %s\n", binaryNumber);
输出:
二进制整数:1111000011110000▒▒▒▒
你能帮我弄清楚为什么会这样吗?我认为这是我的代码中其他一些问题的根源。我之前以更复杂的方式创建字符串时遇到了这个问题,并且在这种情况下也得到了额外的字符,但它们是不同的。所以我用最基本的方法制作了一个字符串(这里显示的方法)并且仍然遇到问题
【问题讨论】:
-
请记住,C 中的字符串有一个额外的字符,即终止符
'\0'。没有那个终结符会导致undefined behavior。