30/09/2018, 18:20

Sự khác nhau của mảng trong Python và C

Mình đang đọc 1 cuốn sách về Python. Có đoạn như sau:
Khai báo 1 mảng:
s = “abcd”
sau đó có thể sử dụng a[-1], a[-2], …
Mình có thử qua C, nhưng có thể là đoạn code của mình bị sai:

#include <stdio.h>
int main(){
    char s[] = "abcd";
   printf("%d
",s[-1]);
    return 0;
}

Thắc mắc của mình là a[-1], a[-2] có thể sử dụng trong C được không và nếu được thì cách sử dụng như thế nào.
Mình có thử qua C nhưng không được:

Chi Ngo viết 20:31 ngày 30/09/2018

Câu trả lời cuối cùng là Không.
Vì đối với C thì mảng được đánh số từ 0, còn Python định nghĩa thêm chỉ số -1, -2 thức chất là lấy ngược lại thôi (số phần tử mảng + các chỉ số âm trên). Theo mình nghĩ là do tuyên ngôn của Python là giảm thiểu việc gõ code, chính vì thế người ta đưa thêm các chỉ số âm như bạn thấy

Nguyễn Văn Dũng viết 20:37 ngày 30/09/2018

Cảm ơn bạn nhiều. Mình cũng nghĩ là vậy nhưng chưa chắc chắn lắm.

Bài liên quan
0