Can u return two values using return keyword? If yes, how?
If no, why?
Answers were Sorted based on User's Feedback
Answer / c.saranya
no. because return keyword return only one value.that ia 0
or 1.
| Is This Answer Correct ? | 15 Yes | 4 No |
Answer / pancuz
yes we can return two or more values from a function using
return keyword...
Use structure...return type of the function will b 'struct'
and v ll store value in struct type.
| Is This Answer Correct ? | 10 Yes | 2 No |
Answer / abhijit roy
in c a function can only written one value
the return value could be of any data type
| Is This Answer Correct ? | 10 Yes | 4 No |
Answer / vignesh1988i
sorryt sorry i made a mistake... i
in the line q=q/2 is wrong
correct as *q=*q/2;
and *w=*w/2;
since addresses cant be divided...
very sorry
| Is This Answer Correct ? | 9 Yes | 6 No |
Answer / vikas shakya
Using the return statement u can only return one value at a
time.
So you can either return the value of a variable like you
can return an integer, or you can return pointer (which may
contain more than one values), which is pointing to
dynamically allocated location, Like in given below example:
//Returning two values from a function.
#include "stdio.h"
#include "malloc.h"
int *values()
{
int *ptr;
ptr = (int*)malloc(2);
*ptr = 10;
*(ptr+1) = 20;
return ptr;
}
int main()
{
int *ptr = values();
printf("%d\n%d",*ptr,*(ptr+1));
return 0;
}
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / vignesh1988i
ya we can return two or more than two values..... it's
possible..
by using concept of POINTERS..... but no need of return
keyword at all.....
instead of call by value in the function use call by
reference concept....
take the following program:
int fun(int *,int *);
void main()
{
int j=800,k=1000;
fun(&j,&k);
printf("%d",j,k);
getch();
}
int fun(int *q,int *w)
{
q=q/2;
w=w/2;
}
the output of the followiung is : 400 & 500.
how it's possible, i ll explain,
since we are calling by reference we
are sending the address of the two variables. so in fun.
definition we are catching it by pointers..... so that
pointer variable is holding the address of the two variables
in main fun. which is passed through address.... so in the
function we are changing the values of j & k.... so this
will change the value directly in the address of those two
variables j & k....... so implicitely two values are
returned wit out return keyword....
| Is This Answer Correct ? | 7 Yes | 9 No |
Want to know how to write a C program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL.
List some of the static data structures in C?
which one is better structure or union?(other than the space occupied )
print a "hello" word without using printf n puts in c language
program to find error in linklist.(i.e find whether any node point wrongly to previous nodes instead of next node)
#include <stdio.h> int main() { if ("X" <"x") printf("X smaller than x "); } my question is whats the mistake in this program? find it and please tell me..
How will you allocate memory to double a pointer?
what is c language.
1.what are local and global variables? 2.what is the scope of static variables? 3.what is the difference between static and global variables? 4.what are volatile variables? 5.what is the use of 'auto' keyword? 6.how do we make a global variable accessible across files? Explain the extern keyword? 7.what is a function prototype? 8.what does keyword 'extern' mean in a function declaration?
What is return type in c?
#include<stdio.h> main() { int a[3]; int *I; a[0]=100;a[1]=200;a[2]=300; I=a; Printf(“%d\n”, ++*I); Printf(“%d\n”, *++I); Printf(“%d\n”, (*I)--); Printf(“%d\n”, *I); } what is the o/p a. 101,200,200,199 b. 200,201,201,100 c. 101,200,199,199 d. 200,300,200,100
What is enumerated data type in c?