01/10/2018, 00:57

Hỏi về mảng trong C

mình viết một đoạn code về mảng như thế này

int main()
{
char mangkytu[]=“12345”;
mangkytu[5]= ‘6’;
printf("%s ",mangkytu);
}

thì kết quả chạy là 123456< <

bạn, anh chị nào chỉ dùm mình lý do tại sao nó tự add thêm mấy phần tử phía sau như vậy , và cách khắc phục với ạ.

Người bí ẩn viết 03:04 ngày 01/10/2018

Do chuỗi của bạn chưa có ký tự kết thúc chuỗi \0
thêm dòng mangkytu[6] = '\0' là sẽ hết !

Pham Anh viết 03:00 ngày 01/10/2018

hehe cám ơn bạn nhé !

Tao Không Ngu. viết 03:13 ngày 01/10/2018

Hi Pham Anhminhanh.1148.
Code của bạn hình như hơi có vấn đề trong truy cập vùng nhớ thì phải ?

superuser10 viết 02:57 ngày 01/10/2018

khai báo 5 phần tử tức là 0-4… mà truy cập phần tử thứ 5 … truy cập vô nulll
Lạy :)))

Minh Luong viết 03:13 ngày 01/10/2018

Đoạn mangkitu[5]=6 là viết đè vô null rồi, lm mất kí tự kết thúc xâu.

Bài liên quan
0