Computer >> Máy Tính >  >> Lập trình >> lập trình C

Một câu đố ngôn ngữ lập trình C?

Ở đây chúng ta sẽ thấy một câu hỏi đố về ngôn ngữ lập trình C. Giả sử ta có hai số 48 và 96. Ta phải thêm số thứ nhất vào sau số thứ hai. Vì vậy, kết quả cuối cùng sẽ giống như 9648. Nhưng chúng ta không thể sử dụng bất kỳ phép toán logic, số học, liên quan đến chuỗi, cũng không thể sử dụng bất kỳ hàm được xác định trước. Vậy làm thế nào chúng ta có thể làm điều đó?

Điều này thật dễ dàng. Chúng ta có thể thực hiện bằng cách sử dụng toán tử Dán mã (##) trong C. Toán tử Dán mã là một toán tử tiền xử lý. Nó gửi các lệnh tới trình biên dịch để thêm hoặc nối hai mã thông báo thành một chuỗi. Chúng tôi sử dụng toán tử này ở định nghĩa macro.

Ví dụ

#include<stdio.h>
#define MERGE(x, y) y##x
main() {
   printf("%d", MERGE(48, 96));
}

Đầu ra

9648