Truyền chuỗi vào hàm

Một phần của tài liệu ngôn ngữ lt_c (Trang 155 - 160)

C là một ngơn ngữ lập trình có cấu trúc, tuy vậy nó vẫn chứa một số câu lệnh làm phá vớ cấu trúc của chương trình:

Kết quả của chương trình trên được minh họa như sau:

10.4 Truyền chuỗi vào hàm

Chuỗi, hay mảng ký tự, có thể được truyền vào hàm. Ví dụ, chương trình sau đây sẽ nhận vào các chuỗi và lưu trong một mảng ký tự hai chiều. Sau đó, mảng này sẽ được truyền vào trong một hàm dùng để tìm chuỗi dài nhất trong mảng đó.

Ví dụ 9: #include <stdio.h> int main() { char lines[5][20]; int ctr, longctr = 0;

int longest(char lines_arr[][20]); /* Function declaration */

clrscr();

for(ctr = 0; ctr < 5; ctr++)

/* Accepts string values into the array */ {

printf("\nEnter string %d: ", ctr + 1); scanf("%s", lines[ctr]);

}

longctr = longest(lines);

/* Passes the array to the function */

printf("\nThe longest string is %s", lines[longctr]); getch();

}

int longest(char lines_arr[][20]) /* Function definition */ {

int i = 0, l_ctr = 0, prev_len, new_len; prev_len = strlen(lines_arr[i]);

/* Determines the length of the first element */ for(i++; i < 5; i++)

{

new_len = strlen(lines_arr[i]);

/* Determines the length of the next element */ if(new_len > prev_len)

l_ctr = i;

/* Stores the subscript of the longer string */ prev_len = new_len;

}

return l_ctr;

/* Returns the subscript of the longest string */ }

Enter string 1: The Enter string 2: Sigma Enter string 3: Protocol Enter string 4: Robert Enter string 5: Ludlum

Tóm tắt bài học

Chuỗi trong C được cài đặt như mảng các ký tự kết thúc bằng ký tự NULL (‘\0’).

 Các biến chuỗi được sử dụng để lưu một dãy các ký tự.  Một hằng chuỗi là một dãy các ký tự bao bởi dấu nháy kép.

 Các chuỗi có thể được lưu trữ và truy cập bằng cách sử dụng các con trỏ ký tự.

 Các thao thác nhập/xuất chuỗi trong C được thực hiện bằng các hàm thuộc thư viện nhập/xuất chuẩn stdio.h.

 Hàm gets() và puts() là cách đơn giản nhất để nhập vào và hiển thị chuỗi.

 Hàm scanf() và printf() có thể được sử dụng để nhập vào và hiển thị chuỗi cùng với các kiểu dữ liệu khác.

 C hỗ trợ rất nhiều hàm về chuỗi, mà chúng ta có thể tìm thấy trong thư viện chuẩn string.h.  Hàm strcat() được sử dụng để nối hai chuỗi vào một.

 Hàm strcmp() so sánh hai chuỗi và trả về một số nguyên dựa vào kết quả của phép so sánh.  Hàm strchr() xác định vị trí xuất hiện của một ký tự trong một chuỗi.

 Hàm strcpy() sao chép nội dung của một chuỗi vào một chuỗi khác.  Hàm strlen() trả về độ dài của chuỗi.

 Trong C, khi một mảng được truyền vào hàm như một tham số, chỉ có địa chỉ của mảng được truyền vào.

Bài tập tự làm

13.Viết một chương trình để nhập vào hai chuỗi. Chương trình sẽ xác định liệu chuỗi thứ nhất có xuất hiện ở cuối chuỗi thứ hai khơng.

14.Viết một chương trình nhập vào một mảng các số và hiển thị giá trị trung bình. Sử dụng hàm để tính giá trị trung bình.

Một phần của tài liệu ngôn ngữ lt_c (Trang 155 - 160)

Tải bản đầy đủ (DOCX)

(194 trang)
w