Sử dụng hàm trong C PDF. In Email
Xem kết quả: / 39
Bình thườngTuyệt vời 
Việc sử dụng hàm trong C sẽ giúp chương trình dễ đọc hơn, sáng sủa hơn đặc  biệt là tiết kiệm thời gian code và có khả năng dùng lại.
Vậy việc khai báo và sử dụng chúng như thế nào thì lại là cả một vấn đề với các bạn mới làm quen với lập trình. Trong bài viết này, chúng tôi sẽ hướng dẫn các bạn thực hiện việc khai báo và sử dụng hàm trong C một cách cơ bản.

Cú pháp khai báo hàm:

    kiểu_dữ_liệu tên_hàm(đối_số){
        //Công việc của hàm
    }

Trong đó: kiểu_dữ_liệu là kiểu dữ liệu trả về của hàm. Trong trường hợp không được định nghĩa thì hàm sẽ trả về kiểu số nguyên.
                đối_số: Các đối số mà có thể truyền vào hàm. Các đối số này được phân cách với nhau bằng dấu phẩy ","

Chương trình sau đây sẽ thực hiện việc khai báo và sử dụng hàm.
Code:

#include <stdio.h>
int my_function(int x, int y); //Khai báo 1 hàm có tên: my_function() kiểu int để chương trình không gặp lỗi.
void main(){
    int a, b, c; //Khai báo 3 biến kiểu int
    a = 10; //Gán giá trị
    b = 15; //Gán giá trị
    //Biến C sẽ gọi hàm và nhận về giá trị trả về của hàm. Tức là gán giá trị trả về của hàm vào biến c
    c = my_function(a, b); //Gọi hàm và truyền vào đối số (Chính là truyền vào 2 giá trị: 10 và 15 của a, b).
    printf("Tong cua a & b la: %d", c); // In ra giá trị của c
}
//Khai báo và xây dựng hàm.
int my_function(int x, int y){ //Khai báo tên hàm kiểu int và nhận về 2 đối số (x, y).
    int z = x + y; //khai báo biến Z. Gán Z  = tổng của x, y (được truyền vào, chính là 10, 15 của a, b).
    return (z); //Trả về giá trị của z. Tức là, nếu gọi hàm này sẽ nhận đc giá trị là 25 (10+15). Nếu viêt: return(x) thì khi gọi hàm sẽ nhận đc giá trị là 10 được truyền vào.
}


Các bài viết khác
Trả lời RSS
Anonymous   |118.68.157.xxx |16-09-2009 04:56:06
toila ban   |58.186.27.xxx |21-12-2009 03:37:39
cho minh hoi trong ham co duoc phep su dung lenh printf khong
Anonymous  - re:   |118.71.240.xxx |21-12-2009 16:03:25
toila ban wrote:
cho minh hoi trong ham co duoc phep su dung lenh printf khong

Được chứ bạn. Bạn cứ viết bình thường như trong hàm void main
Luong Ngoc Tan   |58.186.27.xxx |22-12-2009 22:41:35
cho tui hoi nhu the nao la loi bien dich trong lap trinh c
Anonymous  - re:   |118.71.246.xxx |24-12-2009 00:32:57
Luong Ngoc Tan wrote:
cho tui hoi nhu the nao la loi bien dich trong lap trinh c

Lỗi biên dịch là lỗi cú pháp do trình biên dịch phát hiện ra. Những bạn mới làm quen với lập trình thì hay gặp phải lắm.
loan   |58.187.113.xxx |02-04-2010 16:23:56
cach goi ham?
sonyo   |113.165.52.xxx |11-04-2010 04:15:40
voi bai tap su dung ham de tinh n! de yeu cau tinh va tra ve gia tri n! minh dung ham tra ve ket qua thi co dung ko?
voi yeu cau in len mang hinh noi dung giai thua cua = thi phai lam sao.co ai ko giup minh voi
Tuấn Anh     |118.71.168.xxx |16-04-2010 05:08:30
Mình đang mắc chỗ sử dụng hàm và con trỏ ai Pro thì dúp mình học cái này được không mình rất cảm ơn mọt người liên hệ với mình nhé yahoo:chutuananh91
Cảm ơn mọi người đã đọc tin
pham van huy  - re:   |113.166.60.xxx |07-05-2010 02:25:18
theo minh co the dung cac lenh ma ta da hoc nhu if,prinft,scanf...vv.vi du nhu trong ham void main()
{
than ham
}
nguyenthithu   |203.113.130.xxx |12-05-2010 18:05:32
xin chao cac ban.cho minh hoi
return0,return1,return...
co j la khac nhau.
ban nao biet jup minh voi nha.thanks
nguyenthithu   |203.113.130.xxx |12-05-2010 18:07:41
minh moi hoc c nen khong biet phai hoc tu dau ca.ban nao co cach hoc thi jup minh voi.
thanks
nguyen thi thu   |203.113.130.xxx |12-05-2010 23:24:16
cho minh hoi :intmain va voidmain khca nhau nhu the nao
Anonymous  - re:   |123.27.234.xxx |13-05-2010 06:36:33
nguyenthithu wrote:
xin chao cac ban.cho minh hoi
return0,return1,return...
co j la khac nhau.
ban nao biet jup minh voi nha.thanks

return được hiểu là "trả về".
Một hàm chỉ có thể trả về một giá trị và 1 kiểu dữ liệu (string, int, float....)
Nếu trong hàm có viết "return 0" thì khi gọi hàm này, bạn sẽ nhận được 1 giá trị là 0
Anonymous  - re:   |123.27.234.xxx |13-05-2010 06:39:33
nguyen thi thu wrote:
cho minh hoi :intmain va voidmain khca nhau nhu the nao

int main hay void main
là kiểu giá trị mà hàm đó trả về cho bạn. Nếu bạn viết int main ... thì hàm này chỉ có thể trả về (return) cho bạn giá trị kiểu int, đối với các hàm kiểu float, string... cũng như vậy.
Đối với hàm void main thì nó
không trả về giá trị gì cả.
luckyluc  - sai chỗ nào     |115.75.123.xxx |17-05-2010 17:30:46
int tinhtien(int n)
{
int tinhtien=0;
if(n=3);
tinhtien=tinhtien +2;
if (n
Bài viết của bạn
Name:
Email:
 
Website:
Title:
UBBCode:
<strong> <em> <span style="text-decoration:underline;"> <a target=' /> [quote] [code] <img /> 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss:
:D:pinch::(:shock::X:side::):P:unsure::woohoo:
:huh::whistle:;):s:!::?::idea::arrow:
Vui lòng nhập vào mã số an toàn.
http://hotrolaptrinh.com

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
Copyright © 2009 Cộng đồng Hỗ Trợ Lập Trình.

Administrator: Đỗ Ngọc Hải & Phan Văn Vương

Validated by HTML Validator (based on Tidy)
Điều khoản sử dụng       Khước từ trách nhiệm