對於類,我需要創建一個將整數轉換爲相應二進制數的函數。但是,我不得不使用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