|
INTERVIEW QUESTIONS
C
FUNCTIONS IN C
DETAILS
Question: How can send unlimited no of arguments to a function, eg printf function can take any no of arguments
Answer: using va_list variables in stdarg.h headerfile
|
|
|
Category |
Functions in C Interview Questions & Answers -
Exam Mode /
Learning Mode
|
Rating |
(0.2) By 9805 users |
Added on |
7/19/2011 |
Views |
71795 |
Rate it! |
|
|
Question:
How can send unlimited no of arguments to a function, eg printf function can take any no of arguments
Answer:
using va_list variables in stdarg.h headerfile Source: CoolInterview.com
Sending the unlimited number of arguments to a function can be done by "Variable number of arguments" concept in C.
These function definitions will contain an ellipse(...) which indicates the variable number of argument. example
#include <stdio.h> #include <stdarg.h> void eprintf (const char *template, ...) { va_list ap; extern char *program_invocation_short_name; fprintf (stderr, "%s: ", program_invocation_short_name); va_start (ap, template); vfprintf (stderr, template, ap); va_end (ap); }
Here va_Start() initializes variable argument list pointer ap to the beginning of the variable argument list, before any calls to va_arg().
The va_arg() macro returns the next argument in the variable argument list pointed to by ap.
For a clear example refer : http://www.linuxvalley.it/encyclopedia/ldp/manpage/man3/stdarg.3.php Source: CoolInterview.com
Answered by: Syed Baseer Ahmed | Date:
| Contact Syed Baseer Ahmed
If you have the better answer, then send it to us. We will display your answer after the approval.
Rules to Post Answers in CoolInterview.com:-
- There should not be any Spelling Mistakes.
- There should not be any Gramatical Errors.
- Answers must not contain any bad words.
- Answers should not be the repeat of same answer, already approved.
- Answer should be complete in itself.
|
|
Related Questions |
View Answer |
|
We should not read after a write to a file without an intervening call to fflush(), fseek() or rewind()
|
View Answer
|
|
How argc and argv works in the following main function?
main(int argc,char *argv[]) { int n,i=0; while(argv[1][i]!='
|
View Answer
|
|
How to write a program such that it will delete itself after exectution?
|
View Answer
|
|
output of the following program void main() { unsigned i; i=100*400; printf(
|
View Answer
|
|
When function say abc() calls another function say xyz(), what happens in stack?
|
View Answer
|
|
In c , main() is a function . and where is defined main() in c. bcz every function has three parts. 1>. decleration 2>. definition. 3>. calling
|
View Answer
|
|
How to write a C program to find the power of 2 in a normal way and in single step?
|
View Answer
|
|
What is the difference between goto and longjmp() and setjmp()?
|
View Answer
|
|
How do you determine whether to use a stream function or a low-level function?
|
View Answer
|
|
Is it better to use a macro or a function?
|
View Answer
|
|
How do you use a pointer to a function?
|
View Answer
|
|
Why should I prototype a function?
|
View Answer
|
|
What is a static function?
|
View Answer
|
|
Is using exit() the same as using return?
|
View Answer
|
|
Differentiate between a linker and linkage?
|
View Answer
|
|
What is a function and built-in function?
|
View Answer
|
|
What is an argument ? differentiate between formal arguments and actual arguments?
|
View Answer
|
|
What is the purpose of main( ) function?
|
View Answer
|
|
What are the advantages of the functions?
|
View Answer
|
|
What is a method?
|
View Answer
|