int、char、unsigned int、float、long int之间可以直接用“=”转换吗

# include <stdio.h>
main()
{
int a=99;
char b;
unsigned int c;
float d;
long int e;
b=a;
c=a;
d=a;
e=a;
printf("int:%d\nchar:%c\nunsigned int:%u\nfloat:%f\nlong int:%ld\n",a,b,c,d,e);
}用这段代码转换可以吗?

第1个回答  2013-11-25
可以=赋值运算符, 但是要加上强制转换在C中如int 要转为long 那么这样转:int Num1 = 5;long Num2 = (int)Num1;在C++你也可以用C的方式转换也可以用C++的方式:int Num1 = 5;long Num2 = static_cast<int>(Num1);精度的转换 ,会不可避免的造成精度的丢失。
第2个回答  2013-11-25
楼主的代码没有错误