我想要一个要求十六进制数并给出输出等效八进制数的 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);
}
我想要一个要求十六进制数并给出输出等效八进制数的 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);
}
十六进制和八进制只是相同基础数字格式的不同表示。即二进制。所以在你的例子中没有真正发生转换。只是您正在以两种不同的方式解释/打印相同的数字。在你printf
的例子中确实做得很好
Enter the Hax number: FF
Octal equivalent of number is 377
我能看到的唯一其他有问题的事情是Void
主要的:)
除了您的语法错误之外,这似乎有效,我只是复制了它。改变
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
。