在C语言中使用递归函数可能会导致一些不良后果。主要原因是递归函数在调用自身的过程中,需要不断地开辟新的函数栈空间,可能会导致栈溢出的问题。此外,递归函数还会增加程序的运行时间和空间复杂度,因为在执行递归函数时,需要不断地重复执行一些相同的操作,而这些操作在非递归函数中只需要执行一次即可。
因此,如果不是必须使用递归函数的情况下,建议使用非递归函数来实现相应功能。当然,在某些特定情况下,递归函数也是非常适合使用的,比如递归算法、树形数据结构等。但在这些情况下,也需要注意函数调用的次数和栈空间的使用,以避免不必要的问题。