易語言陣列設定為0了,為什麼還會出錯,超出下標

2021-03-04 03:05:38 字數 4307 閱讀 1214

1樓:匿名使用者

陣列成員為0怎麼能夠賦值?,只能用加入成員命令,才能增加陣列成員。而且你的 "待完成i"也沒有賦值。即沒有成員。

加入成員 (, )

易語言執行時錯誤:陣列成員引用下標超出定義範圍,求助!

2樓:小樓思雨

你按我這bai樣寫就不會出錯了du,你的之所以出錯,是因為zhi你「編輯框1」的內dao容小於3行!

.版本版 2

.程式集變數 分數權設定, 文字型

.程式集變數 金幣設定, 文字型

.程式集變數 姓名設定, 文字型

.程式集變數 a, 文字型, , "0"

.子程式 _按鈕1_被單擊

.區域性變數 陣列成員數, 整數型

a = 分割文字 (編輯框1.內容, #換行符, )陣列成員數 = 取陣列成員數 (a)

.如果真 (陣列成員數 < 3)

輸出除錯文字 (「陣列成員數小於3」)

返回 ()

.如果真結束

分數設定 = a [1]

金幣設定 = a [2]

姓名設定 = a [3]

易語言陣列設定為0 是什麼意思

3樓:匿名使用者

就是無限單維陣列的意思

加入你給乙個變數設定了 0 陣列資訊、

你可以無限給那個變數使用

加入成員(變數,資料)

易語言錯誤**1,陣列成員引用下標超出定義範圍!有時候出現有時候不出現,見於什麼原因呢!

4樓:

這段**中,沒有陣列,不是這段**的問題。

在寫**時,對於陣列操作,在其前

回麵最好加個檢測,比如當答你呼叫:編輯框1.內容=內容[2],時,內容[2],是個文字陣列,但若「內容」這個陣列就包括乙個成員,那麼"內容[2]"就是不存在的。

所以,在這條命令前面加:

如果真(取陣列成員數(內容)>=2)

編輯框1.內容=內容[2]

這樣如果這個陣列的成員小於2,那麼下面命令不會執行,程式不會出錯。

5樓:匿名使用者

很明顯是你呼叫陣列的時

候出了錯。

特別是當陣列沒有成員的時候,你調回用到陣列答那就絕對是出錯。另外一點,如果你用的隨機數。比如陣列有10個成員,但是你隨機數是1-20,超過10就出錯了。

正常不會犯這種錯,錯在,你連續多次用了這個隨機數的變數,有乙個環節沒跟新到隨機數,那就可能出錯了。錯誤的問題會有很多,樓主自己要懂得排除。

因此可以養成乙個習慣,用之前判斷陣列有沒有成員再說。特別是在除錯的時候。如果你100%覺得它不可能有問題,那你可以選擇不判斷。

易語言執行出錯,陣列引用超出定義範圍 60

6樓:

陣列的下標是從0開始的,關機時間這個陣列的長度就是2從0開始,最大是1,你輸個2下標肯定越界了

e語言程式執行時出錯,錯誤資訊:陣列成員引用下標超出定義範圍

7樓:

1,原因:因為取出的陣列成員不存在,假設要取的陣列只有2個成員,取了第專3個成員,那樣肯定會提屬示這種錯誤的。

2,一般的易語言程式設計師會在用正規表示式、分割文字,從網路中獲取文字進行分割時出現陣列成員引用下標超出定義範圍。

3,防範方法很簡單,就是在取陣列成員的時候先判斷一下陣列成員數是否正常。

需要用到的命令是,取陣列成員數(),易語言中有該函式的詳細說明。

8樓:匿名使用者

就是程式的數

組超過bai了du

!!@如!我給 變數1賦予

zhi數值!!!

然後 變數1 擁有 5個數dao組而你程式中由於版**迴圈!!到乙個權步驟

成了 取變數1的第6個陣列!!而我們只給予了5個陣列!沒有6號陣列!就是這個意思!!

解決方法!!加上**取變數陣列!!在**中加上不能超過陣列!就可以了!!

易語言程式:陣列成員引用下標超出定義範圍,怎麼解決??(具體情況如下)

9樓:登進士第時光

把 區域性變數 b, 文字復

型, , "2" 改為0.計次迴圈製首 (取陣列成員數 (b), d) c = 超級列表框1.插入表項 (, , , , , ) 超級列表框1.

置標題 (c, d-1, b [d]) .計次迴圈尾 ()

易語言 陣列成員引用下標超出定義範圍

10樓:d塵封de青春

這是因為所取值的範圍超出了資料庫裡的資料,就是沒有依靠資料庫中的資料取值,這樣肯定會出現這種提示,比如資料庫裡只有兩個資料1和2,但是所程式設計的程式裡取值3,這樣就會導致資料庫識別不出,然後呈程式中斷

一般的易語言程式設計師會在用正規表示式、分割文字,從網路中獲取文字進行分割時出現陣列成員引用下標超出定義範圍

擴充套件資料

可以採用如下建議防止陣列成員引用下標超出定義範圍導致程式意外退出

方法很簡單,就是在取陣列成員的時候先判斷一下陣列成員數是否正常。你需要用到的命令是,取陣列成員數(),易語言中有該函式的詳細說明!

舉個例子:

我們想採集某個**的內容,這個**內容包含的有標題、作者、釋出時間、內容。我們用正規表示式採集的時候發現程式提示陣列成員引用下標超出定義範圍

解決方法是在我們要取正規表示式獲取的內容之前先判斷一下取陣列成員數是否等於4,如果等於4我們就直接取內容,如果不等於4那麼我們只取3個內容,自己把作者補起來,或者直接跳過該頁面去取正常格式的**內容。

11樓:匿名使用者

1、這裡說的是要取的陣列元素,在陣列中不存在。

2、比如定義了乙個5元素的陣列,用得時候去取第6個元素,就會造成上述錯誤。

3、另外,e語言陣列下標是從1開始的,如果取第0個元素,也是錯的。

4、圖示:

5、修改方法:取定義範圍內的元素或擴大陣列範圍。

12樓:匿名使用者

按照你說的,如果是提示陣列成員引用下標超出定義範圍的話,應該是返回陣列的問題,一旦返回陣列的成員不到3個,那麼你寫的返回陣列 [3]就會提示那樣的錯誤,你檢查下返回陣列的成員數吧。

13樓:匿名使用者

錯誤原因:你的」大體**內容「這個位元組集估計是空的(沒有獲取到),或者中間沒有中文冒號這個位元組集,這樣的話分割之後肯定就不成為陣列了對吧,也就是陣列成員數為0,而你下一行**直接使用了 分割內容[1],引用了乙個不存在的陣列元素,肯定會錯誤。

改進方法:

在使用分割內容[1]之前,先檢查陣列的成員數,用命令「取陣列成員數()」即可,然後判斷它的值是不是>0,然後再引用陣列元素。(以後程式設計使用陣列前都要檢查,這樣不容易出bug。)

如果你的大體**內容肯定是含有中文冒號這個位元組集的...那就是你之前的取回資料那裡出了故障,取回的資料是空的..檢查檢查。

但是也要看看方法1中,最好寫乙個異常處理,否則一旦崩潰程式就掛了。

全手打。望採納!

14樓:匿名使用者

1l說的很詳細,簡單點說就是因為沒有分割到東西,所以這個陣列是空陣列(0),下標為1就超出範圍報錯了.

易語言陣列成員引用下標超出定義範圍 求解決啊~

15樓:匿名使用者

錯誤原因:你復

的」大製體**內容「這個位元組集估bai計是空的(沒有獲取du到),

zhi或者中間沒有中文冒號這dao個位元組集,這樣的話分割之後肯定就不成為陣列了對吧,也就是陣列成員數為0,而你下一行**直接使用了 分割內容[1],引用了乙個不存在的陣列元素,肯定會錯誤。

改進方法:

在使用分割內容[1]之前,先檢查陣列的成員數,用命令「取陣列成員數()」即可,然後判斷它的值是不是>0,然後再引用陣列元素。(以後程式設計使用陣列前都要檢查,這樣不容易出bug。)

如果你的大體**內容肯定是含有中文冒號這個位元組集的...那就是你之前的取回資料那裡出了故障,取回的資料是空的..檢查檢查。

但是也要看看方法1中,最好寫乙個異常處理,否則一旦崩潰程式就掛了。

全手打。望採納!

16樓:匿名使用者

1l說的很詳細,簡單點說就是因為沒有分割到東西,所以這個陣列是空陣列(0),下標為1就超出範圍報錯了.

17樓:貢顏節香菱

陣列不能這樣賦值的。有個命令叫

加入成員(,)

為什么設定了鬧鐘午睡就質量很差,為什麼設定了鬧鐘午睡就質量很差?

因為設定鬧鐘之後,你就會有乙個固定的時間,潛意識裡面,不能安心睡覺鬧鐘響了就得起來,不能再睡到自然醒,會感覺到非常的氣憤,睡眠質量就非常差。可能是因為一旦設定了鬧鐘,就會總是想著什麼時候要起床,什麼時候鬧鐘會響,導致思維無法放鬆,睡眠質量差。因為在你的心裡就潛意識的給自己午睡設定了時間,反而讓自己的...

c語言怎麼輸出首位為0的整數,c語言中如何實現輸入乙個整數實現倒序輸出

int x 077 8進製整型 資料以0開始printf o 06d x,x 用 o 輸出以0打頭書寫的8進製數。用 06d 輸出十進位制數值占地 回6位,不足位添0。這裡輸出 077 000063 讀取數答據 0.8進製資料要用 o 格式。字串 資料要用 s 格式.這裡有兩種bai意思 1 首du...

判斷題 如果想使陣列中全部元素的值為0可以寫成 int a 100 10。答案是 x

int a 10 是c非法語句。int a 10 是合法語句,意思是對10個元素均初始化為0。定義的時候怎麼能加運算子呢 就算是a 10 也僅僅是a 0 0,其他留空null c語言陣列判斷題 如果想使乙個陣列中全部元素的值為0 可以寫成 int a 10 0 10 估計是陣列初始化列表不能有表示式...