Assigning multiple characters in an int in C language
Last Updated :
30 Apr, 2018
Consider the following C program.
#include <stdio.h>
int main( void )
{
int a = 'd' ;
printf ( "%d\n" , a);
int b = 'dd' ;
printf ( "%d" , b);
return 0;
}
|
Output :
100
25700
We can easily guess that the output for ‘d’ is 100 as 100 is ASCII value of character ‘d’.
Let us consider below line
int a = 'dd'
(%d, a) prints 25700 as output
01100100 01100100 (Binary of 100 100)
Assuming int is of 2 bytes, starting byte is occupied by first character ‘d’ and second byte by second character ‘d’. Therefore overall binary involves 0110010001100100 i.e 2^14 + 2^13 + 2^10 + 2^6 + 2^5 + 2^2 = 25700.
Now guess the output of following code.
#include <stdio.h>
int main( void )
{
int b = 'de' ;
printf ( "%d" , b);
return 0;
}
|
Share your thoughts in the comments
Please Login to comment...