在c语言中进行变量赋值的时候,如果将字节多的数据类型赋给一个占字节少的变量类型,会发生“截断”。
发生这种情况的原因是:在赋值过程中只将占字节较长的变量的地位赋给占字节较少的变量。
如:
int i=345;
char c=‘i';
c=i;
在进行c=i赋值操作时,会发生“截断”。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=345;
char c='i';
printf("%c%d\n",c,c);
c=a;
printf("%c%d\n",c,c);
system("pause");
return 0;
}
运行以上代码得到结果
i105
Y89