What does the expression sizeof(arr) / sizeof(arr[0]) evaluate to, where arr is an array?
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: "The number of elements in arr". Toán tử sizeof cho số byte mà toán hạng chiếm; với một mảng thật thì sizeof(arr) là tổng số byte của cả mảng và sizeof(arr[0]) là số byte của một phần tử, nên phép chia cho ra số phần tử mà không cần biết kiểu. Mẹo này chỉ đúng ở nơi arr còn là mảng: truyền mảng vào hàm thì nó suy biến thành con trỏ và phép chia cho ra số vô nghĩa. "The size of arr in bytes" sai vì đó là giá trị của riêng sizeof(arr), chưa chia. "The number of bytes occupied by each element in arr" sai vì đó là giá trị của riêng sizeof(arr[0]), tức số chia chứ không phải thương. "The total size of arr in bytes" cũng chỉ là tử số; phép chia đã triệt tiêu đơn vị byte nên thương là một số đếm, không còn là dung lượng.
Cùng phần 7
What does the following program display?
#include <stdio.h>
int main() {
int a[5] = {1, 2, 3};
printf("%d %d %d %d %d", a[0], a[1], a[2], a[3], a[4]);
return 0;
}Có lời giảiCâu hỏiWhich sorting algorithm repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order?Có lời giảiCâu hỏiWhich of the following is the correct syntax for declaring a structure in C?Có lời giảiCâu hỏiCả 21 câu của chủ đề21 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây