进制转换的C语言基础

#include
int main()
{
int a;
scanf("%d",&a);
printf("二进制%d",a);
printf("八进制%d",a);
printf("十进制%d",a);
printf("十六进制%d",a);
return 0;
}
麻烦告知一下为什么代码运行不了?或者有可以输出输入数字上面四个进制的代码也行! 谢谢!

我这里输出没问题

img


输出各种进制


//#include <stdio.h>
//int main()
//{
//    int a;
//    scanf("%d",&a);
//    printf("二进制%d",a);
//    printf("八进制%d",a);
//    printf("十进制%d",a);
//    printf("十六进制%d",a);
//    return 0;
//}

#include<stdio.h>
int main()
{

    int number = 12;
    float f = 12.0;

    printf("十进制输出:%d\n", number);
    printf("十进制输出:%i\n", number);
    printf("八进制输出:%o\n", number);
    printf("十六进制输出:%x\n", number);

    return 0;
}

img

请把头文件包含进去,要么就不要使用scanf和printf,#iclude<stdio.h>

vs 中变量要定义并且赋值后才可以被使用,clion中没有这个要求

修改如下,供参考:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    char s[64] = { 0 };
    scanf("%d", &a);
    printf("二进制%s\n", itoa(a, s, 2));
    printf("八进制%o\n", a);
    printf("十进制%d\n", a);
    printf("十六进制%X\n", a);
    return 0;
}