Forums Programming Assignment Help Why doesn’t the following code of C give the desired result?

This topic contains 2 replies, has 2 voices, and was last updated by  Aakanksha 7 years, 7 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #1912

    Aakanksha
    Participant

    Why doesn’t the following code of C give the desired result?

    #10494

    ahwriter
    Participant

    Why doesn’t the following code give the desired result?

    int x = 3000, y = 2000 ;

    long int z = x * y ;

    #10495

    Aakanksha
    Participant

    Here the multiplication is carried out between two ints x and y, and the result that would overflow would be truncated before being assigned to the variable z of type long int. However, to get the correct output, we should use an explicit cast to force long arithmetic as shown below:

    long int z = ( long int ) x * y ;

    Note that ( long int )( x * y ) would not give the desired effect.

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.