01/10/2018, 17:27
Tại sao code tính tổng này bị sai ạ?
các bác chỉ chỗ sai em với chạy đc mà kết quả sai
#include <stdio.h>
#include <conio.h>
int tongbp(int a,int s);
int i,a,s;
//hàm tính tổng bình phương
int tongbp(int a,int s)
{
int i;
for(i=1;i<=a;i++)
s=s+i*i;
}
void main(void)
{
int a;
printf("Nhap vao a ");
scanf("%d",&a);
printf("Tong bp la %d",tongbp(a,s));
return 0;
}
Bài liên quan
Lộn xộn quá, sai là phải rồi.
int tongbp
thế mà không trả kết quả về.void main
mà lạireturn 0;
int i, a, s
mà còn khai báoa
trongmain
,i
trongtongbp
.s
làm gì khi đã khai báo nó bên ngoài hàm rồi.s
chưa khởi tạo giá trị. Nó sẽ được gán giá trị ngẫu nhiên khi khai báo biến => kq sai.Int tong thì phải return S.
S là kết quả trả về của hàm tong, nên ko cần tham chiếu giá trị của S khi khai báo ở hàm, do đó chỉ cần
Nên khai báo nhập giá trị của a ở trong hàm tong luôn, main chỉ để xuất S ra.
Bạn trên chỉ đúng đó, coi lại nha, main thì int main() return 0; chứ void là ko dc return nha.