Given the variable arr declared as follow char arr[16]; What is the maximum number of characters you can store in arr to represent a null-terminated strings?
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: "15". Chuỗi trong C không mang theo độ dài, thư viện nhận ra chỗ hết chuỗi nhờ một ký tự có mã 0 đặt ngay sau ký tự cuối, và ký tự đó cũng chiếm trọn một ô của mảng. Mảng khai 16 ô nên nhiều nhất 15 ô dành cho nội dung, ô còn lại để dành cho dấu kết thúc. Giá trị "16" là tổng số ô; dùng hết cho nội dung thì không còn chỗ cho dấu kết thúc, và các hàm như strlen hay printf sẽ đọc tràn sang bộ nhớ bên cạnh. Giá trị "14" trừ đi hai ô, tức đếm thừa một dấu kết thúc, trong khi chuẩn chỉ đòi đúng một ô cho dấu đó. Giá trị "13" trừ ba ô, không khớp với cách tính nào của ngôn ngữ. Chính quy ước này là lý do các hàm như strncpy hay snprintf luôn phải tính thêm một byte cho dấu kết thúc.
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 2 bộ đề
Đi tiếp từ đây