![](/img/trans.png)
[英]I get the error: “invalid types 'long int[int] for array subscript”
[英]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.