30/09/2018, 18:16

Lỗi khi chạy code C

Mọi người xem giúp em đoạn code này . Khi mảng d em giảm số phần tử nhỏ xuống thì vẫn chạy ổn, còn khi tăng lên 1000001 phần tử thì nó lại báo lỗi “*.exe has stopped working” . Em cảm ơn nhiều ạ

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    int i,j,t,n,d[1000001],va[1000],sl;
    return 0;
}
Gió viết 20:29 ngày 30/09/2018

Thử khai báo mảng ra khỏi hàm main xem. Chương trình con(main) không nên khai báo mảng có kt lớn

Nguyễn Anh Tuân viết 20:30 ngày 30/09/2018

Cảm ơn anh , code chạy được rồi ạ. Nhưng mà tại sao trong main() không được khai báo mảng lớn anh? Em nghe mọi người nói không nên dùng biến toàn cục

Killua viết 20:16 ngày 30/09/2018

Cho mình hóng với

nullnguyen viết 20:22 ngày 30/09/2018

theo như mình biết thì kiểu int sẽ có giá trị 2 byte. Độ rộng của miền int sẽ là 2^16 = 65536. Vì vậy không thể khai báo mảng quá 65536 phần tử được. Bản thử lại xem sao. Muốn nhiều hơn thì bạn có thể dùng kiêu long có miền là 4 byte

Bài liên quan
0