Bạn đã dịch nhưng gì nó báo lỗi chưa. Trong C không cho sử dụng biến cục bộ trong vòng lặp.
Mình xài code block hiện ra lỗi này nhưng chẳng biết sửa sao : error: 'for' loop initial declarations are only allowed in C99 mode|Code:#include <stdio.h> int TimUCLN(int a,int b) { for(int i=a;i>0;i--) if(a%i==0&&b%i==0) {printf("UCLN la %d",i); break;} return i; } int main() { int x,y; printf("Nhap x"); scanf("%d",&x); printf("Nhap y"); scanf("%d",&y); int m = TimUCLN(x,y); }
Bạn đã dịch nhưng gì nó báo lỗi chưa. Trong C không cho sử dụng biến cục bộ trong vòng lặp.
C Code:
while (!silly) cout<<"Study everything !";
hihi mình đem qua cfree chạy thấy ngon mà?? bỏ return i đi nha bạn!
error: 'for' loop initial declarations are
only allowed in C99 mode|
Chíỉ được khai báo biến trong thân vòng lặp ở chế độ C99. => sửa bằng cách thêm -std=c99 vào câu lệnh biên dịch.
Lần sau cứ search cái câu báo lỗi là có cách giải quyết, nhanh hơn đi hỏi nhiều.
Cho i ra ngoài vòng lặp là OK, nên thêm lệnh getch(); để xem kết quả.
p/s: thuật toán này lạ đó nha @@ không biết đúng không nữa.
bạn thiếu khai báo biến i trong hàm TimUCLN
NÊN thêm lệnh getch() nữa là ok
#include <stdio.h>
#include <conio.h>
int TimUCLN(int a,int b)
{
int i;
for(int i=a;i>0;i--)
if(a%i==0&&b%i==0)
{
printf("UCLN la %d",i);
break;
}
return i;
}
int main()
{
int x,y;
printf("Nhap x=");
scanf("%d",&x);
printf("Nhap y=");
scanf("%d",&y);
int m = TimUCLN(x,y);
getch();
return 0;
}