当前位置:首页 » 编程语言 » c语言中c2109
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中c2109

发布时间: 2022-06-17 01:16:49

‘壹’ c语言代码,总是出现error C2109: subscript requires array or pointer type求大神修改

	inta[25]={1001,101,1004,1016,1018};
intb,c,ch;
InitStack(&Enter);
InitStack(&Temp);
InitQueue(&Wait);

问题出在这几句。

这是C89和C99标准的问题。C89的标准不允许在随便位置声明变量,只允许在块的开始处
C99和C++放松了限制,允许在随便位置声明变量,这个规定更合理。

所以你必须调整变量定义和函数调用的位置。或者你可以把这个文件改成cpp后缀。

希望对你有所帮助

‘贰’ C语言一直提示error C2109怎么解决

char ch; // ch 是只能接收一个字符
scanf("%s",&ch); // "%s"读入的是字符串,ch不是
int p[strlen(ch) - 1] = ch; // 这是什么?

..........................................错误太多

‘叁’ c语言改错 error C2109: 下标要求数组或指针类型

第9行和22行有问题。应该是 arr[][],你写成了 a[][]。
太粗心。

‘肆’ c语言:报错 error C2109: subscript requires array or pointer type是怎么回事

subscript requires array or pointer type
字面翻译为:下标符号需要为“数组”或“指针”型。

‘伍’ 我的这个C语言哪里错了error C2109: subscript requires array or pointer type

scanf("%d",&a[10][10]);
,&a[i][j]
&a[10][10] -- 10 10 超界 了

max[i][j]-min[i][j] -- 变成二维了
应当是:
b[i]=(sum[i]-max[i]-min[i])/8;

‘陆’ C语言老是提示errorc2109

主函数中i,j 没定义就使用了printf("%f",a[i][j]);应该为printf("%f",a[i]);for 循环格式有小小的错误

‘柒’ C语言中出现error c2109错误

文件里定义了全局变量b:int a[300], b[300], cnt=0;
函数jsValue又定义了局部变量b: "int q,b,s,g;"

在jsValue函数里面会使用局部而不是全局变量,也就是这些操作“b[cnt]=a[i];”,里面的b不是数组地址,而是int变量。所以报错。
把局部变量申明的"b"改掉就好了。

‘捌’ C语言程序出错error C2109、error C2102、error C2064 如何修改

  1. int x[][3];——这个声明有错,[]空着又没有右值,编译器不知道填多少。

  2. int a[M]; ——这个声明的a是一维数组,而后面scanf("%d",&a[i][j]); 中怎么冒出个a[i][j]?


‘玖’ C语言编程,VC++总是提示error C2109: subscript requires array or pointer type

第一 主函数 返回为空
第二 数组必须给定大小 如果不给定 你最好用指针
第三 多看书

修改的源代码如下 仔细看下

#include<stdio.h>
void main() //主函数返回值为空
{
int counter=3,n;//counter 必须先初始化 数组大小必须要初始化
printf("Please enter counter\n");
scanf("%d",&counter);
int *number=new int(counter);
//int number[counter];
for(n=0;n<counter;n++)
{
printf("Please enter number%d\n",n+1);
scanf("%d",&number[n]);
}
int i,j,temp;
for(i=0;i<counter;i++)
{
for(j=i;j<counter;j++)
{
if(number[i]<number[j])
{
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
printf("%d ",number[i]);
}
printf("\n");
}

‘拾’ 请教c语言高手。。error C2109: subscript requires array or pointer type

首先有两个问题先得解决一下才能谈得上其他的。由于代码不全,不能正确修改: 1.声明的这两个函数 float process9(float a); float process25(float a); 的形式参数都是float型,函数的实现名中也是float型,可函数体中却是二维数组;这样由于类型不匹配,造成出现error C2109: subscript requires array or pointer type编译错误。看着错误很多,其实绝大部分都是一个错误引起的。要么把函数声明和函数名中的形参都改为float a[5][5],要么声明成指向数组的指针float (*a)[5]才能匹配。 2.float process9(float a)中的局部自动变量i和j都没有初始化,而紧接着就使用它们的值了,这是错误的;而代码中又看不出应该初始化为什么值。把这两个错误改了后再看看有什么问题…… ~