0
現在、バイナリ/ 10進変換器を書いていますが、いくつかのエラーが発生しています。私はそれらを修正するいくつかの助けが必要です。無効な型 'long int [long int]'配列の添え字
エラー1:
assignment 1.c:10:23: error: invalid types 'long int[long int]' for array subscript
scanf("%ld",&num[i]);
エラー2:
assignment 1.c:11:11: error: invalid types 'long int[int]' for array subscript
if(num[0]==0){
エラー3:
assignment 1.c:20:11: error: invalid types 'long int[int]' for array subscript
if(num[0]==1){
は私が私が作ることがあり、問題は彼らとは何かわからないんだけど明らかな間違い。
#include<stdio.h>
int main(){
long int num,decimalNumber=0,j=1,remainder,i;
int bord;
printf("Enter any number any binary number: ");
scanf("%ld",&num[i]);
if(num[0]==0){
while(num!=0){
remainder=num%10;
decimalNumber=decimalNumber+remainder*j;
j=j*2;
num=num/10;
}
}
if(num[0]==1){
printf("Press '1' for binary\n Press '2' for deciaml");
}
printf("Equivalent decimal value: %ld",decimalNumber);
return 0;
}
プログラムが終了していません。
'num'は' long'で配列ではないので、 'num [0]'は意味をなさない。 'if(num [0] == 0)'をチェックして何を達成しようとしていますか? – Ryan
は完全にその1つを逃した!何をしようとしているのは、入力された数字がバイナリかどうかをチェックすることです(例:最初の数字が '0'の場合はバイナリを知っています)。 – Bronson
@Bronsonでは、代わりに文字を読むことができます。 – mash