What is the results will be displayed on the screen after executing the following code:

4 phương ánCó giải thích
Đề bài
char s[] = "AbCd";
printf("%d;%d;%d;%d", s[1],  s[2],  s[3],  s[4]);

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "98;67;100;0". Mảng s chiếm năm byte: bốn chữ cái và byte rỗng kết thúc ở chỉ số 4. Mỗi phần tử là một char, in bằng %d nên giá trị được nâng lên int và hiện ra dưới dạng mã ASCII. Chỉ số đếm từ 0, vậy s[1] là chữ b thường mã 98, s[2] là chữ hoa thứ hai mã 67, s[3] là chữ d thường mã 100, còn s[4] là byte kết thúc mang giá trị 0. Dãy "97;98;99;100" là mã của bốn chữ thường liên tiếp, tức giả định chuỗi toàn chữ thường và đọc từ chỉ số 0. Dãy "65;66;67;68" là mã của bốn chữ hoa liên tiếp, cũng không khớp vì chuỗi xen chữ thường. Dãy "65;98;67;100" đọc từ s[0] nên lấy mã chữ hoa đầu tiên, lệch một nhịp so với yêu cầu của đề.

Cùng phần 8

Xuất hiện trong 1 bộ đề