在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