2013-03-17 58 views
27

Tôi đang cố gắng sử dụng #define để xác định hằng số trong chương trình của mình. Tôi nhận ra rằng tôi có thể sử dụng const, nhưng tôi đang cố gắng hiểu rõ về #define. Ai đó có thể vui lòng giải thích tại sao mã sau đây không hoạt động, và nên được thực hiện thay thế?Sử dụng #define trong Chương trình C

#include <stdio.h> 
#define M 20; 
typedef int Marray_t[M][M]; //I can't define an M x M array 

int main() { 
    Marray_t A; 
    int i; 

    for (i = 0; i < M; ++i) { //Can't iterate up to M 
    A[i] = i; 
    } 

    return 0; 
} 

Trả lời

63

Bạn phải loại bỏ ; sau 20, như thế này

#define M 20 
+1

Oh ... nó đã được xác định đó là '20;'. Tôi hoàn toàn không nghĩ về điều đó! Cảm ơn bạn. –

+0

Bạn được chào đón và cảm ơn :) – nabroyan

+0

Hơn một nửa danh tiếng của bạn là từ một câu trả lời ... – theonlygusti

Các vấn đề liên quan