对于类,我需要创建一个将整数转换为相应二进制数的函数。但是,我不得不使用to_binary函数的给定main和参数。整个问题需要我打印出32位的二进制数,但要打破它,我只是试图打印出Char阵列,我认为我填充了整数(可能是问题)。当我编译时,我只收到一个空行(来自\ n),我想知道如何解决这个问题。我想要做的就是能够打印5(“101”)的二进制数字,但我似乎无法用我的教授的限制来完成。请记住:我无法更改to_binary或main中的参数,只能更改to_binary的主体。任何帮助将不胜感激。在C中打印整数char整数
#include<stdio.h>
void to_binary(int x, char c[]) {
int j = 0;
while (x != 0) {
c[j] x = x % 2;
j++;
}
c[33] = '\0';
}
int main() {
int i = 5;
char b[33];
to_binary(i,b);
printf("%s\n", b);
}
该代码甚至不应该编译任何错误。 ..'c [j] x = x%2;'? –
此外,你似乎忘记了数组索引是基于* zero *的,所以使用索引'33'访问数组中的元素号34。此外,[ASCII表格](http://en.cppreference.com/w/cpp/language/ascii)可能对您有所帮助,字符“1”的值不等于整数“1” '。 –
请将您的整个代码放在帖子中。如果代码太大,请提供[mcve](http://stackoverflow.com/help/mcve)。 – jdarthenay