I realize for the main function that int main(void) is recommended instead of void main(void) but what about subroutines?

I still see subroutines using void return declarations 'void insertString(source[],int index, int remove)' for example.

So I'm not sure what the guideline is for declared return values with subroutines.