c语言输出指定数据的八进制,十进制,十六进制

问题遇到的现象和发生背景输入一个十进制数,输出它的十进制、八进制、十六进制
运行结果及报错内容 必须要把a赋值才能转换
我的解答思路和尝试过的方法
我想要达到的结果就是输入任何数都能转换

int a = 100;
printf("%o,%d,%x\n",a,a,a);