Machine-translated by Google. Questions are authored in English.
Top

Discussion

#include <stdio.h>

typedef enum{
    Male, Female
}SEX;

int main()
{
  SEX var = Male;
  SEX var1 = Female;
  printf("%s %s",var, var1); 
  return 0;
}

 

  • A.Male Female
  • B.0 1
  • C.Runtime error (Segmentation fault)
  • D.Compilation Error: Can't cast

Answer: C

Correct answer: Runtime error (Segmentation fault)

%s tells printf to treat its argument as a pointer to a string, but the arguments are the integers 0 and 1. printf then dereferences address 0 and address 1, and the program is killed. Nothing in the program remembers the names Male and Female - printing them requires an array of strings indexed by the enumerator.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.