Ai chỉ dùm e cái 'define for ’ và cái FOR(i,0,n) với ạ. E tưởng For là phải có điều kiện chứ ạ?
Hỏi về define for
Ý bạn là như thế nào? Bạn có thể nói rõ hơn không?
bạn hiểu define là gì không đã
dùng #define
để định nghĩa macro, khi chương trình chạy thì nó sẽ thay
FOR(i,0,n) bằng cái for(int i = 0; i < n ; i++)
giúp cho việc lập trình được nhanh hơn do phải gõ ít hơn, có thể dùng để định nghĩa macro tìm số lớn, số bé, hằng số, v.v Xem thêm các ví dụ ở đây và đây
Ví dụ khác
#define PRINT10(a) for(int i = 0; i < 10; i++ ) printf("%d ", a);
giờ chỉ cần gõ PRINT10(100) thì nó in ra 10 số 100 trên một hàng mà không cần viết hết câu lệnh for ra.
Đây là một cách để hiểu được các từ khoá trong các ngôn ngữ:
https://translate.google.com/#en/vi/define
Theo mình nghỉ nếu không hiểu rỏ về define
thì không nên động đến nó kẻo lại lại dính mấy lỗi “trên trời rơi xuống” ví dụ như
#define MSG "something here";
. Nó như con dao 2 lưỡi ấy, không biết dùng là dể đứt tay lắm
Bạn xem video này của anh Đạt chưa?
e xem r, e k hiểu sao lại khai báo đc kiểu define for…
và e k hiểu chỗ for (i;0;n) là gì
sau khi đọc comment của @banhmisg9509 thì e đã hiểu chỗ for(i;0;n) rồi ạ.
E cũng biết define là gì rồi ạ.
Giờ e còn chưa rõ phần #define for(i;a;b) for(int i=a;i<b;i++) nữa ạ.
bạn thắc mắc vậy cũng đúng vì mình thấy tham số FOR(i,a,b) trong đó i là không cần thiết chỉ cần FOR(a,b) for(int i = a, i < b; i++)
là được , như vậy nó sẽ lấy tham số trong cái macro FOR(a,b) thay a b vào chỗ a,b trong vòng for.
không phải for
mà là FOR
#define FOR(i;a;b)
tức là định nghĩa đoạn lệnh FOR gồm 3 biến cục bộ i, a, b, khi được gọi trong chương trình thì sẽ được thay bằng 3 biến toàn cục tương ứng (tức là nếu gọi FOR(i;0;n) thì sẽ chạy khối lệnh được định nghĩa trong FOR với i=i; a=0; b=n
và FOR(i;a;b)
được định nghĩa là for (int i = a; i < b; i ++)
Vì phân cách tham số trong FOR là dấu ","
chứ không phải dấu ";"
ok rồi ạ thanks anh