Tuesday, December 28, 2010

Important Things To know

1. 
main() 
{ 
int a=10; 
printf("%d",printf("%d %d %d", a,a,a)); 
}



In this above program the inner printf is first called which prints value of a, three times with space between each value, 10 10 10. Total 5 characters get printed (3 value of 10 and 2 spaces).

As explained earlier the inner printf after printing the values, returns the number of characters printed, 5 which is printed by the outer printf.

The output of the above program is

10 10 10 5
A function always returns a value and printf function returns the number of characters successfully printed.




2.

#include
int main()
{
    (void) (int) printf(" %d ",printf("country"));
    return 0;   
}
country 7


Array of function pointer

#include 

int sum(int a, int b);
int subtract(int a, int b);
int mul(int a, int b);
int div(int a, int b);

int (*p[4]) (int x, int y);

int main(void)
{
  int result;
  int i, j, op;

  p[0= sum; /* address of sum() */
  p[1= subtract; /* address of subtract() */
  p[2= mul; /* address of mul() */
  p[3= div; /* address of div() */

  printf("Enter two numbers: ");
  scanf("%d %d", &i, &j);
  
  printf("0: Add, 1: Subtract, 2: Multiply, 3: Divide\n");
  do {
    printf("Enter number of operation: ");
    scanf("%d", &op);
  while(op<|| op>3);

  result = (*p[op]) (i, j);
  printf("%d", result);

  return 0;
}

int sum(int a, int b)
{
  return a + b;
}

int subtract(int a, int b)
{
  return a - b;
}

int mul(int a, int b)
{
  return a * b;
}

int div(int a, int b)
{
  if(b
      return a / b;
  else 
      return 0;
}


No comments:

Post a Comment