Hỏi về vòng lặp for

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

int main()
{
    int n,S;
    printf("Nhap n:");
    S=0;
    for (int i = 0; i <=n; i = i+1)
    printf("%d",i);
    S:=S+i;
    printf("Tong la cua n la %d",S);

    return 0;
}

Mình compiler thì nó báo lỗi S:=S+i;

This post was flagged by the community and is temporarily hidden.

Em code sai rồi.
Code như vậy thì biến i chỉ hiểu ở printf thôi.
Còn dòng dưới biến i không có nên báo lỗi.
Em coi lại lệnh for nhé.

Thêm nữa là nếu muốn tính tổng bạn phải cho lệnh tính tổng trong vòng for luôn:

for (int i = 0; i <=n; i = i+1) {
    printf("%d",i);
    S=S+i;
}

Hiển nhiên là lỗi rồi,thứ nhất trong C không cho khai báo int i trong hàm for. Thứ 2 nếu bạn viết không có dẫu {} thì vòng for chỉ bao đến câu lệnh printf, còn câu lệnh S:=S+i là ngoài vòng for, vì vậy báo lỗi là phải. Nó chả biết i là thằng nào mà :smiley:

1 Like

Cho vào for luôn? hay mình thêm {}?

for (int I = 0; I <= n; I++)
{
     printf("%d", I);
     s = s + I;
}

Là như thế này :wink:

1 Like

Chạy được rồi. Cám ơn tankhoa0000 :smile:

1 Like

Nhầm sang pascal ở chổ nào? :stuck_out_tongue_closed_eyes:

Ở chỗ này S:=S+i; :sweat_smile:

chú này nhanh phết nhờ :joy:

Sai rồi nhé :smile:, từ chuẩn C99 thì bạn khai báo biến ở đâu cũng được. :wink:

1 Like

à thêm {} đấy, mình gõ thiếu :smiley:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?