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这几种形式
展开
 我来答
风林火陰山雷
2013-11-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:2569
采纳率:100%
帮助的人:1956万
展开全部
您好!很高兴为您解答。

感觉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类型数据

望采纳~如您还有不解,欢迎追问~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式