c语言中 int型变量与char型变量什么情况下不能互换,请举个例子说明(详细点)

2024-11-29 12:34:11
推荐回答(3个)
回答1:

其实这种问题,从表面说也没有什么特别的意义,因为本来就没有什么严格意义上的能不能互换的问题。只要能在使用过程中,满足本来的要求就可以了。

例如:在将int型变量转换为char型时,要考虑到数据的溢出问题等;
char转换为int时,要考虑到它的符号问题。

在根本上只要认清它们两者之间的区别就可以了。
int型的变量,为有符号的16位或者32位整数,依处理器的字长决定;
而,char型的变量,一般为8位的整数,常用来表示单个字符。分为有符号和无符号两种。

回答2:

先举例 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"

回答3:

当char的值超出自己的范围的时候,INT型本身就比CHAR变量的范围大。