我有一个任务是用 C 编程语言编写一个将十进制数转换为二进制数的程序。
这是我写的代码:
#include <stdio.h>
#define MAX_LEN 1000
void translate_dec_bin(char s[]){
unsigned int decNum;
sscanf_s(s, "%d", &decNum);
while (decNum > 0){
printf("%d", decNum % 2);
decNum = decNum / 2;
}
printf("\n");
}
main(){
char s[MAX_LEN];
char c='\0';
int count=0;
printf("enter a nunber\n");
while (c < MAX_LEN && ((c = getchar()) != EOF) && c != '\n'){
s[count] = c;
++count;
}
translate_dec_bin(s);
}
但是,当输入为 1 时,我得到的输出是 1 而不是 0001。换句话说,我希望 0 出现在我的输出中。我怎样才能做到这一点?