Language in C اسئلة واجوبة المقابلات
Question: How do I write a function that takes variable number of arguments?
Answer: The following program demonstrates this.#include <stdio.h> #include <stdarg.h> void main( ) { int i = 10 ; float f = 2.5 ; char *str = "Hello!" ; vfpf ( "%d %f %sn", i, f, str ) ; vfpf ( "%s %s", str, "Hi!" ) ; } void vfpf ( char *fmt, ... ) { va_list argptr ; va_start ( argptr, fmt ) ; vfprintf ( stdout, fmt, argptr ) ; va_end ( argptr ) ; } Here, the function vfpf( ) has called vfprintf( ) that take variable argument lists. va_list is an array that holds information required for the macros va_start and va_end. The macros va_start and va_end provide a portable way to access the variable argument lists. va_start would set up a pointer argptr to point to the first of the variable arguments being passed to the function. The macro va_end helps the called function to perform a normal return. |
احفظ للمراجعة
احفظ هذا العنصر في الإشارات المرجعية، او حدده كصعب، او ضعه في مجموعة مراجعة.
سجل الدخول لحفظ الإشارات المرجعية والاسئلة الصعبة ومجموعات المراجعة.
هل هذا مفيد؟ نعم لا
الاكثر فائدة حسب تقييم المستخدمين:
- What will be the output of the following code?
void main ()
{ int i = 0 , a[3] ;
a[i] = i++;
printf ("%d",a[i]) ;
} - Why doesn't the following code give the desired result?
int x = 3000, y = 2000 ;
long int z = x * y ; - Why doesn't the following statement work?
char str[ ] = "Hello" ;
strcat ( str, '!' ) ; - How do I know how many elements an array can hold?
- How do I compare character data stored at two different memory locations?