在C语言中为int赋值多个字符

考虑下面的C程序。

null

#include <stdio.h>
int main( void )
{
int a = 'd' ;
printf ( "%d" , a);
/*OUTPUT - 100 (ASCII Code for character d)*/
int b = 'dd' ;
printf ( "%d" , b);
/*OUTPUT - 25700 (Explanation in detail given below)*/
return 0;
}


输出:

100
25700

我们可以很容易地猜出100个字符的ASCII值。

让我们考虑以下几行

int a = 'dd' 

(%d,a)将25700打印为输出 01100100100100100(100的二进制) 假设int为2字节,起始字节由第一个字符“d”占用,第二个字节由第二个字符“d”占用。因此,整个二进制文件涉及0110011100100,即2^14+2^13+2^10+2^6+2^5+2^2=25700。

现在猜猜下面代码的输出。

#include <stdio.h>
int main( void )
{
int b = 'de' ;
printf ( "%d" , b);
return 0;
}


© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享