PETA e-cards

Friday, August 25, 2006

General C Questions

QUESTIONS:
(SCROLL DOWN FOR ANSWERS)

1) Checking the Endianness of a machine:
ANSWERS:


1) Checking the Endianness of a machine:

Solution a):

#include

int main(void)
{
int x=1;

if (*(char *)&x == 1)
{
printf("Little Endian\n");
}
else
{
printf("Big Endian\n");
}

return 0;
}

Solution b):

#include

int main(void)
{

union
{
int i;
char c[sizeof(int)];
}x;

x.i=1;

if (x.c[0] == 1)
{
printf("Little-Endian\n");
}
else
{
printf("Big-Endian\n");
}

return 0;
}

1 comment:

Pradeep Kumar Paijwar said...

What will be the output??

Explain for both cases ?

struct PClass1
{
  void printPClass()
  {
   std::cout<<"PClass::printPClass\n";
  }
};

struct PClass2
{
  void printPClass()
  {
   std::cout<<"PClass::printPClass\n";
   i=10;
   std::cout<<"i= "<<"\n";
  }
int i;
};

main()
{
//case 1
  PClass1 *ptr1=NULL;
  ptr1->printPClass();


//case 2
  PClass2 *ptr=NULL;
  ptr2->printPClass();

  return 0;
}