C语言类相关问题,希望来解答

将输入的数字转换成二进制字符输出,,,,,,,,,,,,,,,,


#include<stdio.h>
#include<stdlib.h>

int main() {
    int n;
    scanf("%d",&n);
    char* str=new char();
    itoa(n,str,2);
    printf("%s",str);
}

不理解什么叫做转成二进制输出? 在我看来您就是想将数字转化成字符串。btw,有几个问题:

  1. itoa不是ANSI标准,并不是所有编译器都支持。最好用类似snprintf之类代替。
  2. 然后C/C++不用混用,用malloc而不是new。
  3. 申请一个字符的字符串空间,然后给很多字符的字符串使用,容易stackoverflow