295 views
0 votes
0 votes

what is the output of the program?

#include<stdio.h>
int main(){
    
    int p=10;
    p<<2>>1;
    printf("%d",p);
    return 0;
    
}

doubt - shift operator has the same precedence so its evaluation done by according to associativity and associativity of shift operator is left to right then how it gives the result 10.
 

Please log in or register to answer this question.

Related questions

0 votes
0 votes
1 answer
1
Debargha Mitra Roy asked 6 days ago
67 views
#include <stdio.h int main() { int a[3] = {1, 3, 5, 7, 9, 11}; int *ptr = a[0]; ptr += sizeof(int); printf("%d", *ptr); return 0; }(Assume size of int to be $2$ bytes.)T...
0 votes
0 votes
2 answers
3
Debargha Mitra Roy asked Apr 10
113 views
What is the output of the below code?#include <stdio.h void main() { static int var = 5; printf("%d ", var ); if (var) main(); }a. 1 2 3 4 5b. 1c. 5 4 3 2 1d. Error
1 votes
1 votes
1 answer
4
SSR17 asked Feb 29
254 views
#include <stdio.h int main() { int i = -1; int x = (unsigned char)i; printf("%d", x); return 0; }output is 255 , but please explain how