Video Ngôn Ngữ C - 10 - Mảng ký tự hay còn được gọi là chuỗi

anh cho em hỏi ở bài biến có : char* ,còn bài này ko cần kí tự " *" ,khác nhau như thế nào ạ

Nếu vậy khi khai báo mảng /chuỗi : tốt nhất mình nên để rỗng bên trong “[]” phải không anh đạt.

anh đạt cho em hỏi là

char mang[] = "datxyz";
mang[3] = 0;
printf ("%s\n", mang);

lúc chạy code thì nó ra dat

là lúc chạy code nó có sô 0 ngay chỗ nào là dừng ngay tại đó như anh nói

ví dụ

char mang[] = "iloveyou";
mang[5] = 0 ;
printf ("%s\n", mang");

là nó sẽ chạy code rồi in ra là ilove đúng không anh
chỉ cần mình có chung tên là mang thì nó sẽ liên quan tới nhau phải hông

hihi em hỏi hơi dài dòng tí tại em thấy khó hiểu :3

Sao em không code thử :slight_smile:

Mấy câu hỏi dạng này có thể kiểm tra trong 3s mà :thinking:

2 Likes

hihi hỏi luôn anh để chắc hơn á mà hihi
chứ em chạy code rồi hihi anh giảng dể hiểu lắm luôn hihi
nhưng phần while em hơn rối ren tí đang buồn hô hô :smile:
mà có thì anh rảnh em hỏi anh hihi
anh cố gắng giảng tiếp nhé hihi

#include <stdio.h>
#include <stdlib.h>
int main()  {
    char chuoi[] = "012\03456";
    printf("\n %s", chuoi);
    return 0;
}

Anh Đạt cho em hỏi là sao khi em thay char chuoi[] = “012\03456”; thì lúc in ra màn hình lại bị như thế này ạ
Còn nêý em để là char chuoi[]=“Le Tran\0 Dat”; thì lại không sao hả anh

1 Like

Em viết như vậy C hiểu nhầm là \034, em sửa lại thành
012\0 3456

2 Likes
#include <stdio.h>

int main()
{
    char dau_don = '''';
    printf("in ra dau don: %c\n", dau_don);
    char dau_kep = ' " ';
    printf("in ra dau ngoac kep: %c\n", dau_kep);
    char dau_cheo =' / ';
    printf("in ra dau gach cheo:%c\n", dau_cheo);
    return 0;
}

cho e hỏi tại sao chương trình này của e chạy lại bị lỗi ạ, đây là bài tập 1 trong vid ạ

char dau_don = ''';
char dau_kep = '"';
char dau_cheo ='/';
1 Like

ở bài tập 2:

char mang[] = datxyz;
mang[3] = 0;
printf("%s\n", mang);

thì khi xuất ra nó sẽ lấy 3 ký tự đầu
vậy a cho e hỏi có cách nào lấy các ký tự ở giữa của nó ko như atz hay txy ạ?

Em có thể dùng lệnh strcpy để lấy từ chữ a đến chữ z.
Hoặc em dùng vòng lặp, lặp qua mảng để lấy từ a đến z :slight_smile:

1 Like

Bạn thử ''' -> '\'' chưa?

cho minh hoi, minh bam ‘’"\’ ; ma codeblok in duoc co dau \ còn thiếu dấu ’ ". Mong các ban chi mình với, thanks.

char thì in vậy phải rồi, ra 2 kí tự phải dùng char*.

4 Likes

Cảm ơn gogp10. Minh làm van kh duoc rogp10, đã thử nhiều cách, chỉ hiện ra kí tự cuối, ví dụ: /’ " * in ra dau * , '*" in ra dau ". Co cach nao in ra 3 kí tự luôn không. Thanks

bạn phải khai báo là char ky_tu_dac_biet[] = "\'"\\"; khai báo chuỗi ấy khai báo đó là khai báo ký tự nên nó không hiển thị toàn bộ, chỉ hiện ra cái ký tự đầu là đúng rồi =)) nhớ sửa hai dấu ngoài bìa thành dấu " nhen. theo mình thì như vậy.

1 Like


cho em hỏi tại sao em làm như này lại không chạy dc ạ ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?