繁体   English   中英

数组下标无效的类型'long int [long int]'

[英]Invalid types 'long int[long int]' for array subscript

我目前正在编写一个二进制/十进制转换器,并且遇到了一些错误。 我需要一些帮助来修复它们。

错误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;
}

程序未完成。

代码正在尝试索引非数组。 @瑞安·奥哈拉(Ryan O'Hara)

// bad
long int num,...,i;
....
if(num[0]==0){

而是简单地使用if(num==0){或对于OP的代码,怀疑if(num != 0){确实需要if(num != 0){

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM