I need to right a recursion program to reverse a string the condition is it should be only line tht line code should be of returning the value
Really interesting Code: #include <iostream.h> #include <string.h> void RevStr(char *inArr, char *outArr,int start,int cLen) { ((*(outArr+start) = inArr[cLen-1]) && (cLen > 0))?RevStr(inArr, outArr, start+1, cLen-1):0; } int main() { char * ptr = "Go4Expert"; char *outptr = 0; outptr = new char[strlen(ptr) + 1]; RevStr(ptr, outptr, 0, strlen(ptr)); cout<<outptr; return 0; }
This one line is of returning type but as the function does not need to return anything and so it does not have a return statement. Code: ((*(outArr+start) = inArr[cLen-1]) && (cLen > 0))?RevStr(inArr, outArr, start+1, cLen-1):0;
My pleasure. Also with the return statement heres the code. Code: #include <iostream.h> #include <string.h> int RevStr(char *inArr, char *outArr,int start,int cLen) { return(((*(outArr+start) = inArr[cLen-1]) && (cLen > 0))?RevStr(inArr, outArr, start+1, cLen-1):0); } int main() { char * ptr = "Go4Expert"; char *outptr = 0; outptr = new char[strlen(ptr) + 1]; RevStr(ptr, outptr, 0, strlen(ptr)); cout<<outptr; return 0; }