1楼:周生
因为char其实是按int存的
char其实存的是整数
计算机中变量的首地址都是按4字节(32位机器)或者8字节(64位机器)对齐的。单个char变量还是占了一个整数的内存,存的也是整数
2楼:匿名用户
ansi c 中的整型提升(char convert to int) 隐式执行的。还有像周生所说的那样,arm编译器会把局内部变量分配给容内部寄存器,每个变量占一个32位的寄存器。希望对你有所帮助 ** 921834839
c语言中把unsigned char 型数据赋值给int 型数据会不会出问题
3楼:匿名用户
不会有问题, 反正char的数值再大也不会让int变成负数,
我不记得这样赋值有没有自动的int到unsigned int的升格,
不过肯定不会出问题就是了
4楼:匿名用户
直接赋bai值会有du
问题。最zhi
好是显式转dao换。内
#include
using namespace std;
int main()
5楼:沉思的跳跳虎
这个问题,因为不来知道你具体的使用环源境,没法作出进一步的判断,只能将 unsigned char型的变量赋给一个int型的变量会发生什么事情告诉你。
unsigned char a = 'a';
int b = -1666666;
b = a;
由于unsigned char类型的变量只有一个字节,而int类型有4个字节,当将一个unsigned char类型的变量赋给一个int型的变量后,会使int型变量的高三个字节全部清零。在上述实例中就是b的高三个字节全部变为0。也就是说b永远为正整数了。
细节就是这样了,至于会不会产生***,视你的使用环境而定了。
6楼:
直接赋值,不会有任何问题
7楼:孤独
强制转换一下看看,不懂c语言
关于C语言中long型数据赋给int型变量
1楼 匿名用户 区分编译器类型,long数据赋值给int数据会有不同的结果。 1 16位编译器 int型变量占2字节,long类型变量占4字节。当long赋值给int时,会截取低两字节数据给int。 如long a 0x12345678 int b a 则b的值为0x5678。 2 32位编译器 i...
若a是int型变量,则执行表达式a 25 3 3后a的值为
1楼 四舍 入 若a是int型变量,则执行表达式a 25 3 3后a的值为24。 int是一种数据类型,在编程语言中,是用于定义整数类型变量的标识符。因为a是int型变量,所以25 3 8 333。又因为当运算符,函数或流程控制需要一个int型参数时,值会自动转换,同时会丢失精度。 所以8 333不...
设整型变量x的值是0,则表达式2x5的值是请问为什么
1楼 匿名用户 在c中如果有上面的需要应该写 2 现在2 大学c 语言 设整型变量x的值是0,则 2楼 谈世城 2 表达式啊,从左往右看,首先2 3楼 匿名用户 表达式2小于x小于5的值是 1 这个什么意思,要不直接贴 我帮你看 设整型变量x为任何一个整数,表达式x 1 2的值是 为什么 4楼 匿名...