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

Discussion

What is the output of this C code?

#include <stdio.h>
    int main()
    {
        printf("sanfoundry\rclass\n");
        return 0;
    }

 

  • A.sanfoundryclass
  • B.sanfoundry
    class
  • C.classundry
  • D.sanfoundry

Answer: C

Correct answer: classundry

The carriage return moves the cursor back to the start of the line without advancing it, so class is written over the beginning of sanfoundry. The five characters of class replace sanfo, leaving undry visible behind them.

The result on a terminal is classundry. This is the practical difference between \r and \r\n: alone, the carriage return overwrites; followed by a newline it simply ends the line, which is why the two together are a line ending on some systems.

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

Post your comment

Please log in or register to post a comment.