what happens when we source a script having shebang statement of C shell(for instance) into the script having shebang statement of K shell?
In this case, does the sourced script(with C shell shebang) execute in C shell(child process) and return the output in running script with K shell(parent shell) shebang.
This question implies you don't know why the shebang works. Shells ignore it -- it's a comment as far as they're concerned because it starts with # It has absolutely no effect on sourced scripts once, let alone twice.
The OS handles them itself, on exec(). It does it as part of its checking of what kind of executable file a program is. It checks the first two bytes of the file. If it finds #!, it assumes its a shell script and runs the appropriate interpreter. If it finds an ELF header, it loads the executable into memory and runs it that way. If it's a raw a.out executable it loads it in a different manner then executes it. If it finds neither, it assumes it should use the /bin/sh interpreter.
So, the hash-bang only ever does anything -- at all -- ever -- when you're executing a script, not sourcing it, and even then, it works only once, at the very beginning of the file. That's when the OS reads it and picks the interpreter. After that the shell takes over, and it cares not at all about lines beginning with #.