當前位置:首頁 » 編程語言 » 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都沒有初始化,而緊接著就使用它們的值了,這是錯誤的;而代碼中又看不出應該初始化為什麼值。把這兩個錯誤改了後再看看有什麼問題…… ~