What is the output when the sample code below is executed?
4 phương ánCó giải thích
#include<stdio.h>
int main()
{
const int a=5;
if(a>3)
a++;
break;
else
a--;
printf("%d",a);
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: "Compile time error". Phạm vi khối do ngoặc nhọn quyết định, không do thụt lề: nhánh if ở đây không có ngoặc nhọn nên chỉ ôm đúng một lệnh là lệnh tăng a, còn lệnh break phía sau đã nằm ngoài if dù được thụt vào ngang hàng. Vì vậy khi gặp từ khoá else, trình biên dịch không còn if nào để ghép nên báo lỗi ngay. Mã này còn hai lỗi nữa: break chỉ hợp lệ trong vòng lặp hoặc trong switch, mà đây không có cái nào; và a khai báo const nên cả lệnh tăng lẫn lệnh giảm đều là ghi vào đối tượng chỉ đọc. Giá trị "6" giả định lệnh tăng chạy được trên một hằng rồi chương trình in ra sau đó. Giá trị "4" ứng với nhánh giảm chạy, nhưng điều kiện a lớn hơn 3 với a bằng 5 vốn đã đúng. Giá trị "5" giả định không nhánh nào chạy, trong khi vấn đề thật là chương trình không dịch nổi.
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