JavaScript is required

What is output? void main() { char *s = "\12345s\n"; printf("%d", strlen(s)); printf("\n%s", s); getch(); }

A.

5

B.

7

C.

9

D.

10

Trả lời:

Đáp án đúng: A


Đoạn code C này sử dụng chuỗi ký tự có escape sequence. \123 là biểu diễn bát phân của ký tự có mã ASCII là 123 (tương ứng với ký tự '{'). Số 4 và 5 tiếp theo được hiểu là các ký tự riêng lẻ. Ký tự 's' và '\n' (xuống dòng) cũng được thêm vào. Do đó, chuỗi s sẽ chứa các ký tự: '{', '4', '5', 's', '\n'. Hàm strlen(s) sẽ trả về độ dài của chuỗi s, không bao gồm ký tự null kết thúc chuỗi. Trong trường hợp này, độ dài chuỗi là 5. printf("%d", strlen(s)); in ra độ dài chuỗi là 5. printf("\n%s", s); in ra một dòng mới, sau đó in ra chuỗi s: {45s (xuống dòng)}. Vì vậy, đáp án đúng là 5.

Câu hỏi liên quan