logo

CuriousTab

CuriousTab

Discussion


Home Technical Questions Programming Comments

  • Question
  • If the following structure is written to a file using fwrite(), can fread() read it back successfully? struct emp { char *n; int age; }; struct emp e = { "Sujay",15}; FILE *fp; fwrite (&e, sizeof (e), 1, fp);


  • Correct Answer
  • No, since the structure contains a char pointer while writing the structure to the disk using fwrite() only the value stored in the pointer n would get written When this structure is read back the address would be read back but it is quite unlikely that the desired string would be present at this address in memory 


  • Programming problems


    Search Results


    • 1. Point out the error, ifany, in the followingb code? typedef struct { int data; NODEPTR link; } *NODEPTR;
    • Discuss
    • 2. What would be the output of the following program? main() { char ch ='A'; printf ("%d%d", sizeof (ch), sizeof ('A')); }
    • Discuss
    • 3. How would you eliminate the warning generated on complaining the following program? main() { char far *scr; scr = 0xB8000000; *scr = 'A'; }
    • Discuss
    • 4. Would the following program compile? main() { int a = 10, *j; void *k; J = k = &a; J++; k++; printf ("\n%u %u", j, k); }
    • Discuss
    • 5. What would be the output of the following program, if the array beigns at address 65486? main() { int arr[] = {12,14,15,23,45}; printf ("%u %u", arr, &arr); }
    • Discuss
    • 6. What would be the output of the following program? main() { struct emp { char *n; int age; }; struct emp e1 = { "Dravid", 23}; struct emp e2 = e1; strupr (e2.n); printf ("\n%s",e1.n); }
    • Discuss
    • 7. How would you check whether the contents of two structure variables are same or not?
    • Discuss
    • 8. Point out the error, if any, in the following program. # include "stdio.h" main() { FILE *fp; char str[80]; fp = fopen ("trail", "r"); while (!feof (fp)) { fgets (str, 80, fp); puts (str); } fclose (fp); }
    • Discuss
    • 9. What would be the output of the following program? /* sample.c */ main ( int argc, char **argv ) { argc = argc - (argc -1); printf ("%s", argv[argc - 1]); }
    • Discuss
    • 10. If the following program (myprog) is run from the command line as myprog 1 2 3 what would be the output? main(int argc, char *argv[]) { int i, j = 0; for (i = 0; i < argc ; i++) j = j + atoi ( argv[i]); printf ("%d", j); }

    • Options
    • A. 123
    • B. 6
    • C. Error
    • D. "123"
    • Discuss


    Comments

    There are no comments.

Enter a new Comment