int[] char[] unsigned char[] 有什么区别? 40
int[]char[]unsignedchar[]有什么区别?char[]="ddd";char[]='dddd'int[]="ddd"int[]='ddd'之间的区别是...
int[] char[] unsigned char[] 有什么区别?
char[]="ddd";
char[]='dddd'
int []="ddd"
int[]='ddd'
之间的区别是什么
char[]="1";
char[]=’1‘;
char[]=1;
区别是什么
char i=1;
char i='1'
char i=”1“
这几个区别是什么,如果一个变量int a=2
如何把这个量转化为char i="2",char i='2',char i= 2这几种形式 展开
char[]="ddd";
char[]='dddd'
int []="ddd"
int[]='ddd'
之间的区别是什么
char[]="1";
char[]=’1‘;
char[]=1;
区别是什么
char i=1;
char i='1'
char i=”1“
这几个区别是什么,如果一个变量int a=2
如何把这个量转化为char i="2",char i='2',char i= 2这几种形式 展开
展开全部
您好!很高兴为您解答。
感觉LZ有一些概念不是很清晰。
首先char[]="ddd";这样的数组定义应该用非C语言标示符来表示数组名如char a[]="ddd";;不过可能这里LZ只是一种示意吧,我就多嘴一句。
双引号中包含(表示)的是字符串,char[]="ddd";、char[]="1";是合法的字符串赋值;int []="ddd"把字符串赋给整型数组,要加花括号int []={"ddd"};,即使这样由于数据类型的问题也会有警告;char i=”1“将字符串赋给一个字符变量,不合法。
而单引号用于单个字符的赋值,举个例子,char a='x';这样的语句含义是将字符x的ascⅡ码赋给a变量,输出时可以是这个ascⅡ码,也可以是对应的字符x。而对于char[]=’1‘;这样的赋值相当于把一个字符赋给一个字符串,是不合法的;char[]='dddd'一对单引号包含的是多个字符(除非之前定义了一个名为“dddd”的变量),不合法;char i='1'就是正确的赋值。
值得一提的是,“1”和‘1’的本质区别是长度不同,前者相当于两个字符‘1’和‘\0’表示的长度为2的字符串,也就是说“”会在其中包含内容的结尾加上一个字符‘\0’。这很好地解释了char i=”1“的错误:将两个字符赋给一个字符变量。
char[]=1;的错误显而易见了,将一个整型数据赋给字符串不合逻辑;char i=1;这样的赋值本身没问题,表示将i 赋1,但如果赋值过大超过char变量的范围就会出错。
综上,大部分内容其实是非法的,还没有上升到比较区别的程度,剩下的把概念搞清楚也就明确了。
对于最后的问题,首先char i="2"不合法;把“int a=2;”转化为“char i='2';”和“char i= 2;”我理解LZ的意思是数据类型的转换?如果是这样直接强制转换就行了如:
int j=0;
char j1=(char)j;//(char)j表示将j强制转换为char类型数据
望采纳~如您还有不解,欢迎追问~
感觉LZ有一些概念不是很清晰。
首先char[]="ddd";这样的数组定义应该用非C语言标示符来表示数组名如char a[]="ddd";;不过可能这里LZ只是一种示意吧,我就多嘴一句。
双引号中包含(表示)的是字符串,char[]="ddd";、char[]="1";是合法的字符串赋值;int []="ddd"把字符串赋给整型数组,要加花括号int []={"ddd"};,即使这样由于数据类型的问题也会有警告;char i=”1“将字符串赋给一个字符变量,不合法。
而单引号用于单个字符的赋值,举个例子,char a='x';这样的语句含义是将字符x的ascⅡ码赋给a变量,输出时可以是这个ascⅡ码,也可以是对应的字符x。而对于char[]=’1‘;这样的赋值相当于把一个字符赋给一个字符串,是不合法的;char[]='dddd'一对单引号包含的是多个字符(除非之前定义了一个名为“dddd”的变量),不合法;char i='1'就是正确的赋值。
值得一提的是,“1”和‘1’的本质区别是长度不同,前者相当于两个字符‘1’和‘\0’表示的长度为2的字符串,也就是说“”会在其中包含内容的结尾加上一个字符‘\0’。这很好地解释了char i=”1“的错误:将两个字符赋给一个字符变量。
char[]=1;的错误显而易见了,将一个整型数据赋给字符串不合逻辑;char i=1;这样的赋值本身没问题,表示将i 赋1,但如果赋值过大超过char变量的范围就会出错。
综上,大部分内容其实是非法的,还没有上升到比较区别的程度,剩下的把概念搞清楚也就明确了。
对于最后的问题,首先char i="2"不合法;把“int a=2;”转化为“char i='2';”和“char i= 2;”我理解LZ的意思是数据类型的转换?如果是这样直接强制转换就行了如:
int j=0;
char j1=(char)j;//(char)j表示将j强制转换为char类型数据
望采纳~如您还有不解,欢迎追问~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询