30/09/2018, 20:04

Tìm lỗi chương trình sử dụng Con trỏ

int **p;
int m, n;
printf("Nhap so DONG va COT: ");
scanf_s("%d", &m);
scanf_s("%d", &n);
p = new int*[m];
for (int i = 0; i < m; i++){
    p[i] = new int;
}

for (int i = 0; i < m; i++)
    for (int j = 0; j < n; j++)
        p[i][j] = i*n*j;
    
// Giả sử nhập  m= 5, n = 10
printf("%d
", *p);
printf("%d
", *(p + 1));
Mai Anh Dũng viết 22:16 ngày 30/09/2018

Xem lại đoạn này hình như for thiếu dấu {} để bọc lại đoạn printf

for (int i = 0; i < m; i++)
    for (int j = 0; j < n; j++)
        p[i][j] = i*n*j;
    
// Giả sử nhập  m= 5, n = 10
printf("%d\n", *p);
printf("%d\n", *(p + 1));
David Teo viết 22:07 ngày 30/09/2018

Đã tìm được lỗi rồi. Do không để ý.
> for (int i = 0; i < m; i++){
> p[i] = new int; // p[i] = new int[n]
> }

Bài liên quan
0