在C语言中,递归算法可以应用于许多问题。递归算法是一种通过调用自身的方式来解决问题的方法。以下是一些常见的应用递归算法的示例:
int factorial(int n) {
    if (n == 0) {
        return 1;
    } else {
        return n * factorial(n-1);
    }
}
int fibonacci(int n) {
    if (n == 0) {
        return 0;
    } else if (n == 1) {
        return 1;
    } else {
        return fibonacci(n-1) + fibonacci(n-2);
    }
}
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
};
void preorderTraversal(struct TreeNode* root) {
    if (root != NULL) {
        printf("%d ", root->val);
        preorderTraversal(root->left);
        preorderTraversal(root->right);
    }
}
以上只是一些常见的应用递归算法的示例,实际上递归算法可以应用于许多其他类型的问题。在使用递归算法时,需要确保递归有终止条件,以防止无限递归。此外,递归算法的性能可能不如迭代算法,在处理大规模问题时可能会导致栈溢出的问题。