c语言中怎么把不同类型转化成同一类型?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中怎么把不同类型转化成同一类型?相关的知识,希望对你有一定的参考价值。

比如怎么把float型转化成double型,把char,short型转化成unsigned型?

参考技术A 有两种转换方式:
1.强制转换:
(方法为:
类型A的变量
=
(
类型A
)类型B的变量;)
举例:
float转double:
float
a=2.0;
double
b
=
(double)a;
char转unsinged:
char
a='c';
unsigned
char
b
=
(unsigned
char)a;
short转unsigned:
short
a=-20;
unsigned
short
b
=
(unsigned
short)a;
2.由系统隐含转换:
也就是我们所说赋值操作.
但是这种操作很多时候会给出错误信息.
有的也不能成功.如指针与非指针类的转换.如果要进行这类转换建议用第一种方式,
高版本的可以用第一种的变形方式.
float转成double:
float
a=2.0;double
b=a;
char转unsinged:
char
a='c';
unsigned
char
b=a;
short转unsigned:
short
a=-20;
unsigned
short
b=a;
3.第一种方式的变形(只有高版本的才可以用,否则会给出错误信息)
方法为:
类型A的变量
=
类型A(类型B的变量;)举例:
float转double:
float
a=2.0;
double
b
=
double(a);
char转unsinged:
char
a='c';
unsigned
char
b
=
unsigned
char(a);
short转unsigned:
short
a=-20;
unsigned
short
b
=
unsigned
short(a);

C语言中如何把一个字符串转化成其ASCII码的数组??

直接将字符变量赋值给整型变量,即可实现字符到对应ASCII码的转换。
具体实现方法可以参考如下程序段:
char str[]="abds%*&34dfs"; // 定义一个字符数组,存放待转换为ASCII码的字符串
int AsciiNum[20]; // 定义一个整型数组,存放字符所对应的ASCII码值,数组大小根据字符串长度进行设置
int i;
// 将字符串的每个字符逐个赋值给整型数组AsciiNum,即实现字符到ASCII码值的转换
for(i=0; i<strlen(str); i++)

AsciiNum[i] = str[i]; // 最后数组AsciiNum就是字符串每个字符所对应ASCII码值的数组
参考技术A 呵呵,你好像还是没真正理解字符和字符串。
对于字符串str来说,str[0]单元里面就存放了字母a的ASCII码,str[1]单元里面就存放了字母b的ASCII码,以此类推......

以上是关于c语言中怎么把不同类型转化成同一类型?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中int和char之间的转化问题

C语言的浮点型怎么转换为整型?

c语言中如何将 int转化为string 类型

C语言数据类型的转换

C语言 把char 型 或者 整数转化成二进制 要怎么转

C语言中怎么将一个整形数组转化为一个float或者int类型数字比如 int a[5]=1,2,