1、char----->int:
少字节类型转换为多字节类型,没有影响,数据也不会发生变化。
#include <stdio.h>
int main()
{
char cret = 0xff;
int num =cret;
int value = 0xff;
printf("cret=%x\n",cret);
printf("cret=%d\n",cret);
printf("num=%x\n",num);
printf("num=%d\n",num);
printf("value=%x\n",value);
printf("value=%d\n",value);
}

2、int--->char
多字节类型转换为少字节类型,会出现丢位的现象。
#include <stdio.h>
int main()
{
int num =0xf00000ff;
char cret = num;
printf("num=%x\n",num);
printf("num=%d\n",num);
printf("cret=%x\n",cret);
printf("cret=%d\n",cret);
}

3、总结
char转int没有影响;
int转char会出现丢位现象。
本文详细解析了C语言中char到int及int到char的数据类型转换过程,通过具体代码示例展示了不同字节数类型转换时的数据变化情况,强调了多字节类型转换为少字节类型时可能出现的数据丢失现象。

6367

被折叠的 条评论
为什么被折叠?



