How to return multiple values from a function?
Answers were Sorted based on User's Feedback
Answer / r. kumaran
Make array of values and return the array address as long.
Now using pointer traverse through the value.
| Is This Answer Correct ? | 61 Yes | 19 No |
Answer / prasanta maiti
Make array of values and return the array address as long.
simple example:
void main()
{
int a[10],i,n;
int *new_value_array;
printf("\n Enter how many number you want to enter? ");
scanf("%d",&n);
for(i=0;i<n;i++)
sacnf("%d",&a[i]);
printf("\n old value of the array is:");
for(i=0;i<n;i++)
printf("\t%d",a[i]);
new_value_array = array_modify(a,n);
printf("\n new value of the array is: \n");
for(i=0;i<n;i++)
printf("\t%d",*(new_value_array+i));
getch();
}
int *array_modify(int a[10],int n)
{
int i;
for(i=0;i<n;i++)
a[i]=a[i]*4;
return(a);
}
| Is This Answer Correct ? | 45 Yes | 14 No |
Answer / shruti
Multiple values can be returned from a function,
using the call by refrance method.
in this method, we pass pointers as the argument to the
funtion..
| Is This Answer Correct ? | 38 Yes | 15 No |
Answer / saurabh
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
int a;
int b;
}Mystruct;
Mystruct myfun();
int main()
{
Mystruct ms2;
ms2 = myfun();
printf("val1: %d val2: %d",ms2.a,ms2.b);
return 0;
}
Mystruct myfun()
{
int a,b;
Mystruct ms;
a = 10;
b = 20;
ms.a=a;
ms.b=b;
return(ms);
}
| Is This Answer Correct ? | 14 Yes | 15 No |
Answer / manjunath sudnye
Just Make Array Of Pointer For Any Data Type And Return The
Base Address Of Thgat Pointer.
e.g
int *Ptr[5]={1,2,3,4,5};
//now see you can use 5 pointers for manupulation the
valuesand can return it by.
return Ptr;
| Is This Answer Correct ? | 2 Yes | 5 No |
Answer / j.nithya
we can return multiple values from a function by using pointer.... Just store your multiple values which you want to return and return the base address......Store the values in the array and return the base address of the array.
| Is This Answer Correct ? | 3 Yes | 10 No |
Answer / splurgeop
you can return multiple values from the function by using
mechanism called "call-by-reference".
for example:
void main()
{
int area,*circumference;
area=function(area,circumference);
cout<<"the area is "<<area;
cout<<"the circumference is"<<circumference;
}
int function(int a,int *b)
{
a=12;
int temp=a*3;
b=&temp;
return a;
}
// this is just an example............
// you can also use array and return the adress of the
array in the main and can use to traverse the entire array
and return multiple values from function.
| Is This Answer Correct ? | 34 Yes | 60 No |
main() { float i=1.5; switch(i) { case 1: printf("1"); case 2: printf("2"); default : printf("0"); } }
int main() { int x=10; printf("x=%d, count of earlier print=%d", x,printf("x=%d, y=%d",x,--x)); getch(); } ================================================== returns error>> ld returned 1 exit status =================================================== Does it have something to do with printf() inside another printf().
main() { int c[ ]={2.8,3.4,4,6.7,5}; int j,*p=c,*q=c; for(j=0;j<5;j++) { printf(" %d ",*c); ++q; } for(j=0;j<5;j++){ printf(" %d ",*p); ++p; } }
#include<conio.h> main() { int x,y=2,z,a; if(x=y%2) z=2; a=2; printf("%d %d ",z,x); }
main() { int i=5; printf("%d",++i++); }
How can I Create a C program in splitting set of characters to specific subsets. Example: INPUT SET OF CHARACTERS: Therefore, my dear brothers and sisters, stand firm. Let nothing move you. Always give yourselves fully to the work of the Lord, because you know that your labor in the Lord is not in vain. SPLIT INTO HOW MANY CHARACTERS PER SUBSETS: 10 OUTPUT: Therefore, my dear b rothers an d sisters, stand fir m. Let not hing move you. Alway s give you rselves fu lly to the work of t he Lord, b ecause you know that your labo r in the L ord is not in vain.
What is data _null_? ,Explain with code when u need to use it in data step programming ?
#include <stdio.h> main() { char * str = "hello"; char * ptr = str; char least = 127; while (*ptr++) least = (*ptr<least ) ?*ptr :least; printf("%d",least); }
#include<stdio.h> #include<conio.h> void main() { int a=(1,2,3,(1,2,3,4); switch(a) { printf("ans:"); case 1: printf("1");break; case 2: printf("2");break; case 3: printf("1");break; case 4: printf("4");break; printf("end"); } getch(); }
Given an array of characters which form a sentence of words, give an efficient algorithm to reverse the order of the words (not characters) in it.
Write a function to find the depth of a binary tree.
13 Answers Adobe, Amazon, EFI, Imagination Technologies,
Cau u say the output....?