Онлайн компилятор C

#include <stdio.h> int main() { int n,m; scanf("%d",&n); int a[100]; int temp=n; int length=0; do{ m=temp%2; a[length]=m; length++; temp=temp/2; } while(temp!=0); for(int i=length-1;i>=0;i-- ){ printf("%d",a[i]); } return 0; }
1) 这段代码的功能是将一个十进制整数转换为二进制表示,并以数字形式输出二进制结果。

2) 提示:注意数组 `a` 的大小是固定的 100,如果输入的 `n` 值过大,可能会导致数组越界。  
   提示:循环条件 `while(temp!=0)` 可以确保当 `temp` 为 0 时停止计算,但要注意如果输入的是 0,程序会直接跳过循环而不输出任何二进制位。