其实这种问题,从表面说也没有什么特别的意义,因为本来就没有什么严格意义上的能不能互换的问题。只要能在使用过程中,满足本来的要求就可以了。
例如:在将int型变量转换为char型时,要考虑到数据的溢出问题等;
char转换为int时,要考虑到它的符号问题。
在根本上只要认清它们两者之间的区别就可以了。
int型的变量,为有符号的16位或者32位整数,依处理器的字长决定;
而,char型的变量,一般为8位的整数,常用来表示单个字符。分为有符号和无符号两种。
先举例 int型变量转换为char型变量
unsigned long int i=1234,c;
unsigned char a,b;
a=i/256;
b=i%256;
c=a*256+b;
接着是char型变量转换为int型变量
范例 /* 将字符串a 与字符串b转换成数字后相加*/
#include
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c="atoi"(a)+atoi(b);
printf(c=%d\n”,c);
}
执行 c="356"
当char的值超出自己的范围的时候,INT型本身就比CHAR变量的范围大。