本文共 699 字,大约阅读时间需要 2 分钟。
最近会把一些C语言的小程序,小算法移植到js中,这里简单记录一下两种语言的不同之处。
C语言中有int,char,float等等,而js中只有let
(先忽略var
),所以转换过程中遇到C语言中的数据类型要换成let
。
C语言中常用一种除法整除取整
比如int a = 5/2;
结果就是2
。而在js中这样计算默认会变成2.5
,要达到C语言的写法要改成let a = parseInt(5/2)
。
除法取余
和C语言一样直接使用%
就可以了。 C语言中的单引号'A'
还是数类型的参数,到js中就是字符串了,这里要注意。因为js中的单引号和双引号是一样的效果。
C语言中并没有真正的布尔类型,一般是用0作为假,非0作为真
,在if判断时会和数字类型混用,比如:
int hasHouse = 0;if (!hasHouse) { doMakeMoney(); hasHouse = !hasHouse;}
如果js也这样写的话,
int hasHouse = 0;if (!hasHouse) { doMakeMoney(); hasHouse = !hasHouse;}
最后hasHouse会变成true
或者false
这样的bool类型,而不像C语言只会在0和1之间变化。js处理这种情况最后把只用作bool的,在js中改成bool类型
int hasHouse = false;if (!hasHouse) { doMakeMoney(); hasHouse = !hasHouse;}
转载地址:http://yciwb.baihongyu.com/