中給出無符號的64位整數。其中有多個位被設置的 。 想要處理位圖並確定位置,並根據位的位置返回字符串。 例如:無符號整數是12.意味着設置了第三位和第四位的1100。這應該打印三個四個 函數採用unsigned int並返回字符串。 我看了一些代碼片段,我不認爲這是其他問題的重複。識別在位圖中設置的位,並在字符串
char* unsigned_int_to_string(unsigned long int n)
{
unsigned int count = 0;
while(n)
{
int i, iter;
count += n & 1;
n >>= 1;
}
/*** Need help to fill this block ***/
/** should return string THREE FOUR***/
}
#include <stdio.h>
int main()
{
unsigned long int i = 12;
printf("%s", unsigned_int_to_sring(i));
return 0;
}
爲什麼你定義函數返回'char *',而你實際返回的是'unsigned int'? – Matso
馬索,確定位集的數量,它們的位置和從它們派生的字符串。我試過的粘貼代碼。 –