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);
};
#include
int change(int a) {
a = 10;
return a;
};
void main() {
int a = 5;
change(i);
printf(“ % d”, i);
};
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
