What is the result of the statement strcmp("abcdef","abdc")?
3 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "-1". Hàm strcmp so sánh hai chuỗi theo từng byte cho tới vị trí đầu tiên khác nhau rồi trả về dấu của hiệu hai mã ký tự tại vị trí đó. Hai chuỗi abcdef và abdc trùng nhau ở hai ký tự đầu, đến vị trí thứ ba thì một bên là c có mã 99, bên kia là d có mã 100, hiệu là số âm nên hàm trả về giá trị âm, và trong danh sách chỉ có đúng một số âm. Giá trị "1" ứng với trường hợp chuỗi thứ nhất lớn hơn theo thứ tự từ điển, tức ký tự khác nhau đầu tiên của nó phải có mã lớn hơn, điều không xảy ra ở đây. Giá trị "0" chỉ xuất hiện khi hai chuỗi giống nhau hoàn toàn kể cả độ dài, còn abcdef và abdc đã lệch ngay ký tự thứ ba nên hàm dừng tại đó mà không cần xét phần còn lại. Bản chất cần nhớ: chuẩn C chỉ bảo đảm dấu của kết quả, trị tuyệt đối do thư viện quyết định, nên luôn đọc kết quả theo dấu.
Cùng phần 8
Which statements are correct when copying string s1 into s2 manually?(Choose 2 correct answers)Có lời giảiCâu hỏiWhich condition increases the word count in a sentence?
#include <stdio.h>
#include <string.h>
int main() {
char s[1000];
int i, count = 0;
printf("Enter a sentence: ");
fgets(s, sizeof(s), stdin);
for (i = 0; s[i] != '\0'; i++) {
if (condition???) {
count++;
}
}
printf("Total words: %d\n", count);
return 0;
}Có lời giảiCâu hỏiHow can you initialize a character array in C?Có lời giảiCâu hỏiCả 29 câu của chủ đề29 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây