我想要一个c程序,它要求十六进制数并给出输出等效八进制数。我使用代码使用printf()函数将int转换为八进制。
#include<stdio.h>
Void main(){
int i;
printf("Enter the Hax number: ");
scanf("%x",&i);
printf("Octal equivalent of number is %o",i);
}
答案 0 :(得分:1)
十六进制和八进制只是相同基础数字格式的不同表示。即二进制。因此,在您的示例中没有真正发生转换。只是你用两种不同的方式解释/打印相同的数字。 printf
确实在你的例子中做得很好
Enter the Hax number: FF
Octal equivalent of number is 377
我能看到的唯一其他问题是Void
main:)
答案 1 :(得分:1)
除了你的语法错误,这似乎有效,我只是复制它。改变
Void main()
到
int main()
或
//Since you are not using command line arguments this isn't necessary but valid
int main(int argc, char **argv)
并添加
return 0; //not necessary but good practice
在方法的最后
编辑:
也
void main()
将与许多C编译器一起编译,但是无效的C(没有当前和先前的标准制裁它)。请改用int
。