Phân loại dựa trên: có/không đối số, có/không giá trị trả về.
1. Không đối số, không trả về
Hàm tự nhập, xử lý, in kết quả.
#include <stdio.h>
void sum() {
int a,b,c;
printf("Nhap 2 so: "); scanf("%d%d",&a,&b);
c = a+b; printf("Tong = %d", c);
}
int main() { sum(); return 0; }
Kết quả
Nhap 2 so: 3 5 Tong = 8
2. Không đối số, có trả về
Hàm nhập, tính, trả về kết quả.
#include <stdio.h>
int sum() {
int a,b,c;
printf("Nhap 2 so: "); scanf("%d%d",&a,&b);
return a+b;
}
int main() { printf("Tong = %d", sum()); return 0; }
Kết quả
Nhap 2 so: 10 20 Tong = 30
3. Có đối số, không trả về
Nhận đối số, xử lý, in kết quả.
#include <stdio.h>
void sum(int a, int b) {
printf("Tong = %d", a+b);
}
int main() {
int a,b; scanf("%d%d",&a,&b);
sum(a,b); return 0;
}
Kết quả
Nhap 2 so: 10 20 Tong = 30
4. Có đối số, có trả về
Nhận đối số, tính, trả về kết quả (phổ biến nhất).
#include <stdio.h>
int sum(int a, int b) { return a+b; }
int main() {
int a,b,c; scanf("%d%d",&a,&b);
c = sum(a,b); printf("Tong = %d", c);
return 0;
}
Kết quả
Nhap 2 so: 10 20 Tong = 30