char c='A';
short s=80;
c=(char)s;
System.out.println(c);
题目描述
使用递归编写一个程序,逆序输出一个非负整数。例如输入1234,输出4321(不含前导0)。
输入
多组输入,每组输入一个非负整数。
输出
逆序输出结果,每个结果占一行。
样例输入
12
1230
0
样例输出
21
321
0
C语言中的类型转换是通过强制类型转换符来实现的,即在需要进行类型转换的变量或表达式前加上要转换的类型,使用小括号括起来即可。例如,将int类型变量a转换为float类型,可以使用强制类型转换符将a前加上(float)。在C语言中,类型转换通常用于隐式类型转换和显式类型转换。隐式类型转换是指由编译器自行进行的类型转换,而显式类型转换是由程序员显式调用进行转换的。
类型转换的场景包括但不限于以下几个方面:
1.将一种数据类型转换为另一种数据类型; 2.进行数据类型的自动提升; 3.进行数据类型的强制转换,以满足编译器编译过程中对类型的严格要求。
在下面的代码例子中,我们演示了如何进行类型转换:
int main() { int a = 10; double b = 3.14;
// 显式类型转换
double c = (double)a;
// 隐式类型转换
double d = a + b;
// 自动类型提升
float e = 1.2f;
float f = e * a;
printf("c = %f\n", c);
printf("d = %f\n", d);
printf("e = %f, f = %f\n", e, f);
return 0;
}
在上述代码中,我们使用了强制类型转换符将整型变量a转换为double类型,并使用隐式类型转换将a和b相加得到了double类型变量d。同时,我们还演示了自动类型提升的例子,即将float类型变量e和int类型变量a相乘,得到的结果会自动提升为float类型,并赋值给变量f。
c=(char)s;
这一步,就把80,也就是ascii 80转换成char了
c=(char)s
不就是这样转换的吗