Cách hoạt động của for

#include<stdio.h>
int luy_thua(int x, int y);
int main()
{
    int x;
    int y;
    printf("nhap x:");
    scanf("%d",&x);
    printf("nhap y:");
    scanf("%d",&y);
    printf("%d^%d= %d",x,y,luy_thua(x,y));
    return 0;

}
int luy_thua(int x, int y)
{
    int i, luy_thua ;
    luy_thua = 1;
    for (i=1;i<=y;i++)
        luy_thua = i*x;
        return luy_thua;
}

cho em hỏi lênh for rong này nó hoạt động như thế nà ạ … em chưa hiểu

1 Like

Bạn nên đọc qua 2 bài này.

1 Like

Hàm lũy thừa của bạn hình như cũng bị sai rồi :smiley:
Trước hết mình nói về vòng for
Đầu tiên vòng for sẽ gán biến i = 1, nếu i<=y sẽ thực hiện đoạn code trong vòng for, ở đây là luy_thua = i*x;
Khi thực hiện xong đoạn code trong vòng for sẽ tăng biến i lên 1 (i++)
Vòng lặp sẽ thực hiện cho đến khi điều kiện i<=y không thỏa

Ở vòng for của bạn để trả về giá trị lũy thừa x^y thì phải là luy_thua = luy_thua*x; thì khi mỗi lần lặp lại vòng for sẽ tăng biến luy_thua lên x lần

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