edited by
522 views
0 votes
0 votes

Please explained detialed execution of this code, 
I am not getting how int stored in char, like we can interchange using ASCII but still cant store right?

edited by

1 Answer

0 votes
0 votes
Characters are integers only . If you typecast integer as char , you get a character . So you can store integers as characters , there is no issue.

Now let's come to the code.

(100&0x0F)<<4 | (100&0xF0)>>4

| has the least precedence so will be done at the last.

(100&0x0F)<<4 = 01000000

(100&0xF0)>>4 = 00000110

(100&0x0F)<<4 | (100&0xF0)>>4 = 01000110

which is 70.

Related questions

2 votes
2 votes
0 answers
1
srestha asked Jan 28, 2019
654 views
void foo(int n) { for(i1=1;i1<=n;i1++) { for(i2=1;i2<=i1;i2++) { ....... { for(i6=1;i6<=i5;i6++) { count++; } } } } }Count initially 0.What is value returned by foo(8)?
3 votes
3 votes
2 answers
2
Shamim Ahmed asked Dec 11, 2018
583 views
char *a = “MADEEASY”;char *b = “GATECSIT2019”;char *r = a;char *s = b;printf(“%d”, (int) strlen (b+3[r] – 1[s]));return 0; Whats the output? Answer given 8
2 votes
2 votes
2 answers
3
2 votes
2 votes
1 answer
4