3i Infotech Placement: Sample Questions 388 - 390 of 1245

Glide to success with Doorsteptutor material for competitive exams : get questions, notes, tests, video lectures and more- for all subjects of your exam.

Question 388

Write in Short Short Answer▾

  1. #define int char
  2. main ()
  3. {
  4. int i =65;
  5. printf ( “sizeof (i) =%d sizeof (i) );
  6. }
Edit

Explanation

In a program

Table Shows the Program
#define int char#define replaces the string int by the macro char
main ()

{

int i = 65;

printf ( “sizeof (i) =% d” sizeof (i) ) ;

}

Here , int value replace in char value

Then, print sizeof (i) = 1

Because, character variable minimum size is 1 byte or 1 character

Question 389

Write in Short Short Answer▾

Are the variables argc and argv local to main?

Edit

Explanation

Yes, both argc and argv are local to main method.

Question 390

Describe in Detail Essay▾

What is the output of the following program?

  1. #define assert (cond) if ( (cond)! ) (fprintf (stderr, “assertion failed:%s, file %s, line %d #cond, ⧵ __FILE__, __LINE__), abort () )
  2. void main ()
  3. {
  4. int i =10;
  5. if (i == 0)
  6. assert (i <100);
  7. else
  8. printf ( “This statement becomes else for if in assert macro” );
  9. }
Edit

Explanation

  • In the program
Table Shows the Program
#define assert (cond) if ( (cond) !) ⧵ (fprintf (stderr, “assertion failed:% s, file % s, line % d” #cond, ⧵ ________FILE________, ________LINE________) , abort () )
  • Define macro condition
if (i == 0)

assert (i < 100) ;

  • The else with printf becomes the else for if in the assert macro.
  • Hence nothing is printed.
  • The solution is to use conditional operator instead of if statement
  • #define assert (cond) ( (cond) ? (0) : (fprintf (stderr, “assertion failed: ⧵ % s, file % s, line % d” , #cond, ________FILE________, ________LINE________) , abort () ) )
  • Note: This problem of “matching with nearest else” cannot be solved by the usual method of placing the if statement inside a block like this, #define assert (cond) {⧵if (! (cond) ) ⧵ (fprintf (stderr, “assertion failed:% s, file % s, line % d” , #cond, ⧵ ________FILE________, ________LINE________) , abort () ) ⧵}