Zero is commonly used as the first index because it allows multi-dimensional arrays very easily, among ease of compiler implementations. 
Using 0 allows for the array to be indexed as demonstrated in the following example: `array[y + x * x_length]`, where x is the horizontal coordinate, y is the vertical coordinate, and y_length is the maximum value of y + 1. This is equivalent to using multidimensional arrays like this: `array[x][y]`.

It also allows for the compiler to replace `array[n]` with `*(array + n)`, assuming n is a pointer to the first item. There is also an interesting consequence of this: In many languages that handle arrays this way and don't have a very strong type system, like C, `n[array]` is equivalent to `array[n]`.

The benefit of using 1 as the start is that it is usually more intuitive to beginners.
โดยทั่วไปจะใช้ Zero เป็นดัชนีแรกเนื่องจากอนุญาตให้ใช้อาร์เรย์หลายมิติได้อย่างง่ายดาย ท่ามกลางความสะดวกในการใช้งานคอมไพเลอร์ การใช้ 0 ช่วยให้อาร์เรย์ได้รับการจัดทำดัชนีดังที่แสดงในตัวอย่างต่อไปนี้: `array[y + x * x_length]` โดยที่ x คือพิกัดแนวนอน y คือพิกัดแนวตั้ง และ y_length คือค่าสูงสุดของ y + 1 ซึ่งเทียบเท่ากับการใช้อาร์เรย์หลายมิติเช่นนี้: `array[x][y]` นอกจากนี้ยังอนุญาตให้คอมไพเลอร์แทนที่ `array[n]` ด้วย `*(array + n)` โดยสมมติว่า n เป็นตัวชี้ไปยังรายการแรก นอกจากนี้ยังมีผลลัพธ์ที่น่าสนใจในเรื่องนี้: ในหลายภาษาที่จัดการอาร์เรย์ในลักษณะนี้และไม่มีระบบการพิมพ์ที่รัดกุมเช่น C `n[array]` จะเทียบเท่ากับ `array[n]` ประโยชน์ของการใช้ 1 เป็นจุดเริ่มต้นก็คือ ผู้เริ่มต้นมักจะเข้าใจง่ายกว่า
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence