Câu hỏi: PRF192 - Phần 4: Mô-đun hoá và hàm
22 câu trắc nghiệm kèm lời giải của môn PRF192 - Cơ sở lập trình, xếp theo thứ tự nhập vào ngân hàng. Trang 2/2 — câu 21–22.
Danh sách câu hỏi
Đáp án đúng: "int minus (int a, int b) { return (a - b); }". Định nghĩa hàm theo lối nguyên mẫu đòi mỗi tham số mang đủ kiểu riêng, các tham số ngăn nhau bằng dấu phẩy, và thân hàm là một khối trong ngoặc nhọn; khoảng trắng thừa giữa các thành phần vô hại vì trình dịch bỏ qua. Dạng "int minus(int a; int b) { return (a - b); }" dùng dấu chấm phẩy ngăn hai tham số, thứ chỉ hợp lệ trong danh sách khai báo biến thường, nên danh sách tham số vỡ ngay. Dạng "int minus (int a, b) { return (a - b); }" để b không kiểu; chuẩn C hiện hành đã bỏ quy tắc ngầm hiểu kiểu int nên tham số thiếu kiểu bị báo lỗi. Dạng "int minus (int a, b) { return (a - b); };" mắc đúng lỗi thiếu kiểu đó, lại thêm một dấu chấm phẩy trống sau thân hàm, thứ chuẩn không cho phép ở mức tệp.
#include <stdio.h>
float max(float a, float b) {
return a > b ? a : b;
}
int main() {
float x = 5.5, y = 4.5, z = 2;
printf("%f", max(max(x++, y--), ++z));
return 0;
}