NEW ****Numerical Ability**** NEW




Programming Question & Answers in C-language:Test Your C Skills Part-I

1.What will be the output of the following code?
void main ()

   int i = 0 , a[3] ;
   a[i] = i++;
    printf (“%d",a[i]) ;
}
Ans: The output for the above code would be a garbage value. In the statement a[i] = i++; the value of the variable i would get assigned first to a[i] i.e. a[0] and then the value of i would get incremented by 1. Since a[i] i.e. a[1] has not been initialized, a[i] will have a garbage value.

2.Why doesn't the following code give the desired result?
int x = 3000, y = 2000 ;
long int z = x * y ;
Ans: 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.



more......!!!


0 comments to "Programming Question & Answers in C-language:Test Your C Skills Part-I"

Post a Comment

Popular Posts

online materials. Powered by Blogger.

This Blog to Your Language

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

Total Pageviews

Calender

Followers