For char str[] = "hello";, what is strlen(str)?
4 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: "5". Hàm strlen đếm số ký tự thực của chuỗi bằng cách đi từ byte đầu tới khi gặp byte rỗng kết thúc, và không tính byte đó. Chuỗi hello có năm chữ cái nên hàm trả về 5, dù mảng str chiếm sáu byte trong bộ nhớ. Đây là ranh giới cần nhớ: strlen cho độ dài logic, còn sizeof cho kích thước vùng nhớ. Số "6" chính là sizeof(str), tức năm ký tự cộng byte kết thúc, không phải thứ strlen trả về. Số "4" thiếu một ký tự, chỉ đúng nếu chuỗi là hell. Kết luận "Undefined" sai vì mảng được khởi tạo từ hằng chuỗi nên byte kết thúc đã có sẵn, strlen tìm thấy điểm dừng hợp lệ và kết quả hoàn toàn xác định.
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