1
Tìm số đảo ngược của 1 số nguyên dương nhưng sử dụng hàm và con trỏ trong C/C++?
0
Cộng đồng đã đăng:

Mọi người cho e hỏi muốn tìm số đảo ngược của 1 số nguyên dương nhưng sử dụng hàm và con trỏ để viết thì làm như thế nào ạ? E cảm ơn.

thêm bình luận...
0
andi364110 đã đăng:
#include <stdio.h>

int inverseNumber(int *number)
{
    int result = 0;

    while (*number > 0)
    {
        int tmp = *number % 10;
        result = (result * 10) + tmp;
        *number /= 10;
    }

    return result;
}

int main()
{
    int n = 1234565;
    int reverse = inverseNumber(&n);
    printf("So dao nguoc la: %d\n", reverse);
}

Bạn chỉ cần khai báo tham số cho hàm inverseNumber dưới dạng một con trỏ, trong trường hợp này là *number, nếu học lý thuyết rồi thì bạn đã biết muốn truy xuất giá trị của con trỏ ta sử dụng toán tử *, đó là lý do khi tính toán trong hàm inverseNumber mình sử dụng toán tử * trước thằng number.

Bản chất của con trỏ là lưu địa chỉ của biến khác, cho nên ở hàm main, ta phải truyền địa chỉ của biến n vào hàm inverseNumber thông qua toán tử &, đó là lý do tại sao bạn thấy mình truyền vào là &n.

Hy vọng sẽ trả lời được câu hỏi của bạn.

đã bổ sung 5.0 năm trước bởi
Avatar: andi3641 andi364110
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)