JavaScript is required

Kết quả của chương trình sau là gì:
#include
int change(int a) {
a = 10;
return a;
};
void main() {
int a = 5;
change(i);
printf(“ % d”, i);
};

A.
5
B.
10
C.
0
D.
Báo lỗi khi thực hiện chương trình
Trả lời:

Đáp án đúng: A


Chương trình trên có một lỗi biên dịch vì biến `i` được sử dụng trong hàm `main` mà chưa được khai báo hoặc khởi tạo. Thêm vào đó, bạn đang cố gắng truyền `i` vào hàm `change`, trong khi bạn đã khai báo `a` là 5. Do đó, chương trình sẽ báo lỗi khi biên dịch hoặc thực thi. Nếu giả sử có một dòng code `int i = a;` trước khi gọi hàm `change(i);` thì chương trình vẫn sẽ in ra 5. Lý do là vì hàm `change` chỉ thay đổi giá trị của tham số `a` bên trong hàm đó. Biến `i` trong hàm `main` không bị ảnh hưởng. Như vậy, đáp án đúng nhất là D: Báo lỗi khi thực hiện chương trình.

Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


22 câu hỏi 60 phút

Câu hỏi liên quan