What will the following program print?
4 phương ánCó giải thích
#include <stdio.h>
int main()
{
int x = 5, y = 10;
while(x++ < y--)
{
printf("%d %d\n", x, y);
}
return 0;
}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 9
7 8
8 7". Then chốt nằm ở dạng hậu tố của x++ và y--: điều kiện được so trên giá trị cũ, nhưng ngay khi việc so sánh xong thì hai biến đã mang giá trị mới, nên printf trong thân vòng lặp luôn thấy giá trị đã tăng giảm. Lượt một so 5 với 10, x thành 6 và y thành 9, in 6 9. Lượt hai so 6 với 9, x thành 7 và y thành 8, in 7 8. Lượt ba so 7 với 8, x thành 8 và y thành 7, in 8 7. Lượt bốn so 8 với 7 nên điều kiện sai và vòng lặp dừng, dù x cùng y vẫn kịp đổi thành 9 và 6. Lựa chọn mở đầu bằng "5 10" coi như printf thấy giá trị trước khi tăng giảm, tức hiểu sai dạng hậu tố. Lựa chọn mở đầu bằng "2 5" không khớp bước nào vì x chỉ tăng còn y chỉ giảm. Lựa chọn chứa dòng "2 2" đòi hai biến gặp nhau ở 2, nhưng chúng gặp nhau quanh 8 và 7 rồi vòng lặp kết thúc.
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 1 bộ đề
Đi tiếp từ đây