在c中转换八进制的十六进制数

时间:2012-04-12 14:28:25

标签: c

我想要一个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);
}

2 个答案:

答案 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