What is the output of this reverse loop?
4 phương ánCó giải thích
#define SIZE 5
int nums[SIZE] = {5, 10, 2, -45, 6};
for (int i = SIZE - 1; i >= 0; i--)
printf("%d ", nums[i]);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: "6 -45 2 10 5". Vòng for đặt i bắt đầu ở SIZE trừ 1 là 4, chạy tiếp khi i còn lớn hơn hoặc bằng 0 và giảm một đơn vị mỗi lượt, nên các chỉ số được thăm theo thứ tự 4, 3, 2, 1, 0. Đọc mảng theo thứ tự đó cho ra 6, -45, 2, 10, 5, mỗi số kèm một dấu cách vì chuỗi định dạng có dấu cách ở cuối. Ở đây vòng for không có cặp ngoặc nhọn nên nó chỉ ôm đúng một lệnh printf, vừa khớp ý định của mã. Ý "5 10 2 -45 6" sai vì đó là thứ tự xuôi, ứng với vòng lặp đi từ 0 lên. Ý "-45 2 10 5 6" sai vì nó bắt đầu từ chỉ số 3 rồi vòng lại phần tử cuối, không có phép lặp nào trong mã sinh ra trật tự ấy. Ý "Error" sai vì khai báo biến đếm ngay trong câu for là hợp lệ từ chuẩn C99, và chỉ số 4 vẫn nằm trong mảng 5 phần tử.
Cùng phần 3
What will be the output of the following C code?
#include <stdio.h>
void main()
{
int x = 0;
if (x == 0)
printf("Hi");
else
printf("How are you");
printf("Hello");
}Có lời giảiCâu hỏiHow does a "for" loop differ from a "while" loop in C programming?Có lời giảiCâu hỏiIn a C program, what happens if none of the conditions in an if-else statement are true?Có lời giảiCâu hỏiCả 40 câu của chủ đề40 câu
Xuất hiện trong 2 bộ đề
Đi tiếp từ đây