30/09/2018, 16:07
Lỗi hàm tính giai thừa
Xem giùm e bị sai ở chỗ nào với ạ!
#include <stdio.h>
void giaithua(int n);
int main()
{
printf("%d
",giaithua(6));
return 0;
}
int giaithua(int n)
{
int ketqua=1;
for(int i=1;i<=n;++i)
ketqua=ketqua*i;
return ketqua;
}
Bài liên quan
c:/program files/codeblocks/mingw/bin/…/lib/gcc/mingw32/4.7.1/…/…/…/libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16’
tài liệu tham khảo chưa được định nghĩa là sao a?
Hi Tuấn, tại sao em không tạo topic riêng để hỏi, câu hỏi của em có liên quan gì tới bài 33 - truyền tham trị không?
Em đọc bài này để biết cách tự học lập trình thông qua đặt câu hỏi nhé
Le Tran Dat – 13 Nov 14
Người mới học lập trình cần biết – Phần 1 – Học lập trình thông qua hỏi đáp
Là một lập trình viên chuyên nghiệp Đạt tích lũy được kinh nghiệm lập trình thông qua nhiều năm tự học và làm việc. Quá trình tự học đó kéo dài, nhưng chung quy lại việc học lập trình bao gồm các q…
Edit: đã move sang topic mới.
Bài này a viết hàm về cơ số mũ! còn e thì viết về giai thừa. nó đơn giản hơn của a, mà hàm của a thì chạy mà hàm này lại báo lỗi! Đây cũng có thể nói là 1 bài tập dựa trên cái hàm của a, y chang cấu trúc hàm chỉ là khác về mục đích thôi a! Thiết nghĩ câu hỏi là phù hợp ạ. trong câu hỏi này ý của e là e không thấy sai trong vấn đề cách giải hay là cú pháp hàm e sai. NHưng nó lại báo lỗi ko chạy đc. e đã đọc hết nội quy của a rồi ! ( markdown,trust lv,phương pháp đặt câu hỏi khôn ) tiếc là cái này e chịu thua! e chỉ áp dụng nguyên xi hàm của a vào bài này! a giúp e với! cảm ơn a
Sửa lại thành
Em sai vì prototype phải giống với hàm em viết ở dưới
kinh nghiệm học được là quên mất! thử kiểu void vs int và quên đặt lại nhanh quá đoảng! cảm ơn a!
++i
hayi++
???Trong vòng lặp for ở trường hợp này thì
++i
hayi++
đều giống nhau @tuancoi2506 à.bít thêm 1 cái, trước giờ e chưa thấy nên hơi thắc mắc. hi. thanks a @ltd
Vòng lặp for luôn có cú pháp:
Trong đó biểu thức 1 và 3 thường là các biểu thức số học nhưng biểu thức 2 là biểu thức điều kiện.
Khi bắt đầu:
_Thực hiện biểu thức 1 trước tiên. (1)
_Sau đó kiểm tra biểu thức 2.Nếu biểu thức 2 cho kết quả là 1 giá trị khác không (true) thì nó sẽ thực hiện các lệnh có trong phần thân của vòng lặp for,ngược lại nếu kết quả là 0 (false) thì sẽ thoát ra khỏi vòng lặp.(2)
_Cuối cùng thực hiện biểu thức 3 rồi quay lại bước (2).
Vì thế trong trường hợp trên, dùng i++ hay ++i đều như nhau cả.