-1

我想要一个要求十六进制数并给出输出等效八进制数的 ac 程序。我使用代码使用 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);
}
4

2 回答 2

1

十六进制和八进制只是相同基础数字格式的不同表示。即二进制。所以在你的例子中没有真正发生转换。只是您正在以两种不同的方式解释/打印相同的数字。在你printf的例子中确实做得很好

Enter the Hax number: FF
Octal equivalent of number is 377

我能看到的唯一其他有问题的事情是Void主要的:)

于 2012-04-12T14:31:44.970 回答
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

于 2012-04-12T14:32:29.193 回答