Tại sao 2["abcd"] ra 99?

Mọi người cho em hỏi, tại sao kết quả in ra là 99, em dùng Dev C.

#include <stdio.h>
#include <iostream>
#define EXIT_SUCCESS 0
using namespace std;
int main()
{
	int a; 
	a = 2["abcd"];
       printf("%d", a);

}

Cái này tương đương với "abcd"[2] hay nói cách khác là ký tự 'c' (bạn thử thay a = 2["abcd"] thành a = 'c' thì biết :slight_smile:).

Và bạn dùng %d để in ra nên nó sẽ in ra 99 vì là số thứ tự của ký tự 'c' trong bảng mã ASCII.

5 Likes

a = 2 [“abcd”]
a = “abcd”[2]
a = “c”
=> a = 99

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