Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C tính tổng và hiệu hai số dùng con trỏ

Cho hai số a và b. Cần viết hàm tính cả (a+b) và (a-b). Vì hàm C chỉ trả về một giá trị, ta dùng tham số đầu ra (output parameter) qua con trỏ. Hàm sẽ cập nhật a thành a+b, b thành a-b. Khi gọi hàm, truyền địa chỉ của a và b.

Ví dụ: a=5, b=8 → a+b=13, a-b=-3.

Giải thuật

  • Hàm solve(int *a, int *b): temp = *a + *b; *b = *a - *b; *a = temp
  • Trong main: gọi solve(&a, &b), sau đó in a và b

Ví dụ minh họa

#include <stdio.h>

int solve(int *a, int *b) {
    int temp = *a + *b;
    *b = *a - *b;
    *a = temp;
}

int main() {
    int a = 5, b = 8;
    solve(&a, &b);
    printf("a + b = %d and a - b = %d", a, b);
    return 0;
}

Đầu vào

a = 5, b = 8

Đầu ra

a + b = 13 and a - b = -3