var a = parseInt(Math.random()*899)+100 console.log(a) //1.数组 split 2.charAt
// var str = (a+'').split('') //转换成字符数组 //console log(str) var atr = a + "" var result = ''for(var i = 0iresult+=translateToCh(parseInt(atr.charAt(i)),i) break }else{ result+=translateToCh(parseInt(atr.charAt(i)),i)。
这个简单啊:unsigned char dataCount = 0
voidKey()
{
if (你的按键 == 0)
{
if (dataCout++ >= 2)dataCount = 0
}
switch(dataCount)
{
case 0: 执行A模式;break
case 1:
case 2:
default:
break
}
}
1、你的问题只是运算符优先级的问题。()的优先级高于数学运算符,所以(char)x+y和(char)(x+y)与(int)x+y和(int)(x+y)的区别是一样的:即前者只是转化了x的类型,后者是转换了整个x+y的结果的类型。
而(char)x,(char)(x)没有区别,int也一样
2、你上述转换都是没有意义的!
在C语言里,数学计算中是类型自动转化为一致的,所以显式转换多是不必要的。
而且在C语言中char和int是互相隐式转换的,所以直接可以在char和int间赋值都不会出错,不需要转化。
3、字符在C语言中是需要用单引号括起来的,所以
char x=A是错误的,应该是char x='A'
4、ASCII码只要赋值给char型自动就转化成字符了