C error C2109 subscript requires array or pointer type 題目是對二維陣列進行轉置。

2025-02-02 02:55:18 字數 3075 閱讀 4069

1樓:網友

void swap(int b[2][2]);這一句要放到void main()前面。

swap(a[2][2]);呼叫函式不是這麼整的,直接 swap(a);手邊沒有c++不能除錯,大概看了下,你先試試吧。

你的錯誤意思是說需要指標或者陣列結構吧。你先把前面說的兩個改了,看看還沒有什麼問題。

程式一直提示「error c2109:subscript requires array or pointer type

2樓:網友

你定義的是一維陣列,但是判斷的時候,是使用了二維陣列。

所以編譯器提示出錯了。

c語言**,總是出現error c2109: subscript requires array or pointer type求大神修改

3樓:網友

int a[25]=;

int b,c,ch;

initstack(&enter);

initstack(&temp);

initqueue(&wait);

問題出在這幾句。

這是c89和c99標準的問題。c89的標準不允許在隨便位置宣告變數,只允許在塊的開始處。

c99和c++放鬆了限制,允許在隨便位置宣告變數,這個規定更合理。

所以你必須調整變數定義和函式呼叫的位置。或者你可以把這個檔案改成cpp字尾。

希望對你有所幫助。

4樓:讉莣熔燃氺

49行:flushall();這個函式在開啟檔案後使用函式名: _flushall

功 能: 清除所有緩衝區。

用 法: int flushall(void);

程式例:#include

int main(void)

55行:if(j==0)

請教c語言高手。。error c2109: subscript requires array or pointer type

5樓:網友

本地變數b和陣列b[max]衝突,把本地變數b改成其它即可。

6樓:匿名使用者

首先有兩個問題先得解決一下才能談得上其他的。由於**不全,不能正確修改: 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]才能匹配。 process9(float a)中的區域性自動變數i和j都沒有初始化,而緊接著就使用它們的值了,這是錯誤的;而**中又看不出應該初始化為什麼值。把這兩個錯誤改了後再看看有什麼問題……~

程式一直提示「error c2109: subscript requires array or pointer type」,請問什麼原因?

7樓:網友

根本的問題是全域性變數和區域性變數重名了。

全域性變數b[max]

區域性變數b預設在函式體裡面使用的是區域性變數b[i]就出錯了可在前面加: 表示使用的是全域性變數。

要不然就改名,使之不重名。

#include

#define max 200

int a[max],b[max],cnt=0;

void main( )

8樓:讉莣熔燃氺

49行:flushall();這個函式在開啟檔案後使用函式名: _flushall

功 能: 清除所有緩衝區。

用 法: int flushall(void);

程式例:#include

int main(void)

55行:if(j==0)

c語言程式設計,vc++總是提示error c2109: subscript requires array or pointer type

9樓:網友

第一 主函式 返回為空。

第二 陣列必須給定大小 如果不給定 你最好用指標第三 多看書。

修改的源**如下 仔細看下。

#include

void main() //主函式返回值為空int i,j,temp;

for(i=0;i}printf("");}

10樓:網友

你可以用malloc動態地給陣列分配空間:

舉例:int *s=null;

scanf("%d",&n);

s=(int*)malloc(n*sizeof(int));

用的時候就是s[0],s[1]啥的跟陣列一樣,最後free(s); s=null;

11樓:網友

陣列的大小要是編譯器常量。

error c2109: subscript requires array or pointer type

12樓:網友

有沒有提示哪一行的錯誤啊,部分**不好看啊。

for(int n=i-1;n>=0;n--)

中i有賦值嗎?

error c2109: subscript requires array or pointer type

13樓:網友

貌似寫的有點亂,沒太細看。出現你這種錯誤一般是陣列的操作越界或者錯誤了。你的case j裡面,scanf("%d",a[32])這個是錯的,你想在第閉豎沒32位輸入乙個數?

那應該是a[31],纖敬否則是越界了。然後你的sixteentotwo過載過?使用的是sixteentotwo(f),有引數,跟函式轎納定義不匹配。

格蘭仕BCD210W210LUU風冷冰箱怎麼樣

格蘭仕復 bcd 210w 210l uu風冷冰箱格蘭仕制 galanz bcd 210w 210l uu風冷冰箱商品bai介紹 bcd 210w 品牌格蘭仕 galanz 型號 dubcd 210w 顏色 鈦灰 類別 zhi雙開門 dao開門方式 左開門 顯示方式 不支援 氣候型別 亞溫帶型 sn...

210分 手機,210分 推薦手機

強烈建議樓主關注兩款 非日貨 手機 1.nokia5300 外觀很時尚,而且是 手機 這點很重要 主相機 130萬畫素cmos感測器 水貨 在1500左右,行貨不會超過2100。參考資料 2.moto k1 此款機型是moto06年下半年的新品,在a1200後一款商務 時尚手機,手機,照相功能 內建...

佳能IXUS210和SX210 IS哪個價效比高

你說的這兩款哪個價效比也不高,佳能的產品全球擁有量第一,這和它先進的技術有關,最重要的一點,它的廣告費用出也相當驚人,這些費用誰來掏,當然是你,所以佳能的所謂的價效比是最差的,其實價效比是人們想象出來的一個詞,根本就沒有定義和標準 觸屏一點用都沒有,還費電,用久了還有精度的問題,現在數碼相機非常過關...