16 進数を要求し、同等の 8 進数を出力する ac プログラムが必要です。コードを使用して、printf() 関数を使用して int を 8 進数に変換します。
#include<stdio.h>
Void main(){
int i;
printf("Enter the Hax number: ");
scanf("%x",&i);
printf("Octal equivalent of number is %o",i);
}
16 進数を要求し、同等の 8 進数を出力する ac プログラムが必要です。コードを使用して、printf() 関数を使用して int を 8 進数に変換します。
#include<stdio.h>
Void main(){
int i;
printf("Enter the Hax number: ");
scanf("%x",&i);
printf("Octal equivalent of number is %o",i);
}
16進数と8進数は、同じ基になる数値形式の単なる異なる表現です。つまり、バイナリです。したがって、あなたの例では実際には変換は行われていません。同じ番号を2つの異なる方法で解釈/印刷しているだけです。そして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
代わりに使用してください。