What will be the output of the following C code?

4 phương ánCó giải thích
Đề bài
#include <stdio.h>
void main()
{
    int x = 0;
    if (x == 0)
        printf("Hi");
    else
        printf("How are you");
        printf("Hello");
}

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "HiHello". Nhánh if và nhánh else khi không có ngoặc nhọn chỉ ôm đúng một lệnh ngay sau nó, nên nhánh else chỉ nhận lệnh in How are you; lệnh in Hello nằm ngoài cả hai nhánh dù được thụt vào cho giống thân else, bởi phạm vi khối trong C do ngoặc nhọn quyết định, không do thụt lề. x bằng 0 nên điều kiện x == 0 đúng, chương trình in Hi, bỏ qua nhánh else, rồi chạy tiếp lệnh in Hello; printf không tự xuống dòng nên hai chuỗi dính liền thành một dòng. "Hi" sai vì bỏ sót lệnh in nằm ngoài khối, lệnh đó luôn chạy. "How are you" sai vì nhánh else không chạy khi điều kiện đã đúng. "Hello" sai vì lệnh in Hi vẫn chạy trước đó.

Cùng phần 3

Xuất hiện trong 2 bộ đề