What is the value of variable a after executing the following lines of codes:

4 phương ánCó giải thích
Đề bài
int a = 0;
char line1[] = "Hi";
char line2[] = "Hello";
a = strcmp(line1, line2);

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: "A positive value". Hàm strcmp so từng cặp ký tự theo mã của chúng và trả về chênh lệch tại vị trí đầu tiên khác nhau. Hai chuỗi cùng mở đầu bằng một chữ hoa giống nhau, sang vị trí thứ hai thì chuỗi ngắn có ký tự i mã 105 còn chuỗi dài có ký tự e mã 101; vì 105 lớn hơn 101 nên hàm cho ra số dương, nghĩa là chuỗi thứ nhất đứng sau theo thứ tự từ điển. Chú ý việc so sánh dừng ngay tại cặp lệch đầu tiên, độ dài chuỗi không quyết định. Lựa chọn "0" chỉ đúng khi hai chuỗi giống nhau hoàn toàn tới ký tự kết thúc. Lựa chọn "A negative value" sẽ đúng nếu ký tự lệch đầu tiên của chuỗi thứ nhất nhỏ hơn, tức khi đổi thứ tự hai đối số. Lựa chọn "NAN" không có nghĩa ở đây vì strcmp trả về int, không phải số thực, nên không bao giờ sinh giá trị không phải số.

Cùng phần 8

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