Gửi bởi
dangvanhoavc
mình có xem một số ví dụ thấy trong cùng một chương trình mà cài đặt hai hàm có cùng tên(không phải đệ quy) nhưng khác về tham số, vậy các hàm này hoạt động như thế nào?
mong mọi người chỉ giúp với!
thanks!
Khi mình gọi một hàm, mà tên hàm này lại có đến 2 cài, thì nó sẽ xét xem lúc mình gọi hàm, mình truyền vào cái gì, rồi từ đó nó "nhìn" lên các hàm con xem cái truyền vào đó có giống với cái khai báo của hàm con này không nếu đúng thì chạy hàm con đó. VD:
Mã:
#include<stdio.h>int tong(int a,int b){ int t=a+b; return t;}int tong(int a[],int n){ int t=0; for (int i=0;i<n;i++) t+=a[i]; return t;}void main(){ int a[20],n; printf("Nhap so pt: "); scanf("%d",&n); for (int i=0;i<n;i++) { printf("
Nhap a[%d]: ",i); scanf("%d",&a[i]); } printf("Tong 1 (ham int tong(int a,int b)): %d
",tong(a[0],a[1])); printf("Tong 2 (ham int tong(int a[],int n)): %d
",tong(a,n));}
Với dòng lệnh: printf("Tong 1 (ham int tong(int a,int b)): %d
",tong(a[0],a[1]));
thì nó sẽ chạy đến hàm con int tong(int a,int b), vì thứ truyền vào là a[0] và a[1] - là 2 biến nguyên, phù hợp với hàm đó.
Còn với dòng lệnh: printf("Tong 2 (ham int tong(int a[],int n)): %d
",tong(a,n));
Cái truyền vào đó là a - mà a là một mảng - nên nó sẽ tìm cái hàm con nào có truyền vào mảng thì chạy
Vệ sinh cá nhân là một phần quan yếu của sức khỏe nam giới. Dùng dung dịch vệ sinh mỗi ngày mang lại nhiều ích, giúp loại bỏ vi khuẩn và vi sinh vật gây hại, giúp khu vực cơ quan sinh dục luôn sạch...
Gel vệ sinh cu, bạn trai có nên...