01/10/2018, 08:18

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ứ ạ?

XYZ viết 10:31 ngày 01/10/2018

Ý bạn là như thế nào? Bạn có thể nói rõ hơn không?

Nguyễn Xuân Phúc viết 10:22 ngày 01/10/2018

bạn hiểu define là gì không đã

Nguyễn Duy Hùng viết 10:32 ngày 01/10/2018

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.

Trần Hoàn viết 10:33 ngày 01/10/2018

Đâ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

Tran Xuan Son viết 10:33 ngày 01/10/2018

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

Stupid viết 10:20 ngày 01/10/2018

Bạn xem video này của anh Đạt chưa?

Nguyen Trong Dung viết 10:19 ngày 01/10/2018

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ì

Nguyen Trong Dung viết 10:19 ngày 01/10/2018

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 ạ.

Nguyễn Duy Hùng viết 10:23 ngày 01/10/2018

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.

Trần Hoàn viết 10:23 ngày 01/10/2018

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
FOR(i;a;b) được định nghĩa là for (int i = a; i < b; i ++)

Nguyen Trong Dung viết 10:26 ngày 01/10/2018

Vậy tại sao e làm như này lại k đc ạ ?

Nguyễn Duy Hùng viết 10:23 ngày 01/10/2018

Vì phân cách tham số trong FOR là dấu "," chứ không phải dấu ";"

Nguyen Trong Dung viết 10:20 ngày 01/10/2018

ok rồi ạ thanks anh

Bài liên quan
0