C语言中,char a[]={'h','a','p','p','y'};与char a[]="happy";与char a[]={"happy"};

作者&投稿:牢拜 (若有异议请与网页底部的电邮联系)
C语言中, char a[3]={'c', 'a', 'p'}; char b[]={'c', 'a', 'p'}; char c[]="cap"; char d[3]="~

cd能正常显示,ab结果不确定,看你的编译器或系统,有的是找到之后的第一个'\0'再结束,有的能正常显示到cap.

答案是h 其实就是大小写转化
也可以这么看
H对应的ASCII码十进制为72 A为65 a为97
a-'A'+'a'也就是'H'-'A'+'a'=72-65+97=104
h对应的ascII码十进制就是104

1,表示定义一个含有五个元素的字符数组,它的元素是字符。
2,表示定义一个字符串常量。与int a = 2一样理解就可以了。还有一种形式就是*a = "happy".
3,表示定义一个含有一个元素的字符串数组,它的元素是字符串。注意与第一个区别开来。

char a[]={'h','a','p','p','y'};
char b[10]="happy";
char c[10]={"happy"};
printf("strlen(a)=%d\n",strlen(a));//结束未知,如果a[]={'h','a','p','p','y','\0'};strlen(a)=5
printf("strlen(b)=%d\n",strlen(b)); // 与C区别不大
printf("strlen(c)=%d\n",strlen(c));

http://wenku.baidu.com/view/de788bf34693daef5ef73dd7.html
自己理解吧


台江区15066224917: c语言中char类型数组的输出问题 -- 输出时为何需要&符? -
褒苏茜草: 在C语言中数组的名字即数组的起始地址,也是数组第一个元素的地址.因此,假设有一个char类型的数组a表示成如下代码: char a[20]; 那么a表示字符数组的起始地址,它和&a[0]是一个意思. 使用printf()输出字符数组a的内容: printf("%...

台江区15066224917: c语言中char是什么意思 -
褒苏茜草: 楼上完全是误导人,什么字符变量啊! char 是一个数据类型,作用才是定义字符型变量(单个或是字符串). 比方int 是整形数据,int a = 3;这里int 是类型, a 是整型变量,3是赋值; char s = 'A'; char是字符类型,s是字符型变量,A是赋值给变量s; char s[] = "c program"; char是字符类型,s[]是字符型数组,"c program"是赋给数组的值.

台江区15066224917: 在c语言中char a[]={'a','b','c'}和char a[]="abc"有什么区别 它们各在内存里占多少和字节 -
褒苏茜草: char a[]={'a','b','c'} 这是一个字符数组,占3个字节. char a[]="abc" 则不同,它是一个字符串,最后还有一个'\0'结束符,占4个字节

台江区15066224917: 在C语言中,若有下列定义:char a[]=”123456”; -
褒苏茜草: 经过赋值,实际上通过编译程序生成的数组a[7]={ '1','2','3','4','5','6',0 }; b[6]={ '1','2','3','4','5','6' }; 因为双引号引起来的字符串默认最后多一个字符串结束符0 所以A不对 B也不对 C也不对,因为b数组中没有字符串结尾标志的0,b中存放的是不合格的字符串,也叫非法字符串 D是对的

台江区15066224917: C语言中char *a[ ]什么意思,他和char (*)a[ ]有什么什么区别? -
褒苏茜草: 两者区别如下: 一、”读“”写“能力 char*a="abcd";此时"abcd"存放在常量区.通过指针只可以访问字符串常量,而不可以改变它. 而char a[30]="abcd";此时"abcd"存放在栈.可以通过指针去访问和修改数组内容. 二、赋值时...

台江区15066224917: C语言中,char a[]={'h','a','p','p','y'};与char a[]="happy";与char a[]={"happy"}; -
褒苏茜草: 1,表示定义一个含有五个元素的字符数组,它的元素是字符.2,表示定义一个字符串常量.与int a = 2一样理解就可以了.还有一种形式就是*a = "happy".3,表示定义一个含有一个元素的字符串数组,它的元素是字符串.注意与第一个区别开来.

台江区15066224917: C语言中的char具体用法 -
褒苏茜草: C语言中char用于定义字符类型变量或字符指针变量,例如“char a;”则定义了变量a是字符类型,“char *a;”则定义了变量a是字符指针类型. char是C语言整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认...

台江区15066224917: C语言中,char a[] = "abc"; char *p = "cdef"; -
褒苏茜草: char a[] = "abc"; 中a是数组名,编译时为其分配4个char单元,前3个单元用“abc"中的字符对应初始化,最后一个存放'\0';char *p = "cdef";在编译时先生成"cdef"字符串常量,存放在常量区,并将首地址(c的地址)赋给char *型指针变量p.从以上可见,a是数组,所以其中的元素abc都可变,可以重写;而p指向的是常量,不可更改.

台江区15066224917: C语言中char类型的数据输入和输出时怎么控制啊? -
褒苏茜草: 1、首先打开Microsoft Visual C++软件,单击“文件”菜单->“新建”,新建一个文件,文件名后缀为.c. 2、新建好文件后,输入如下内容. 3、然后我们在{ }之间输入函数的内容,我们先定义变量c1,变量的类型为char,字符型. 4、用printf语句进行输出. 5、当内容输入好后,我们点击图中工具按钮,对程序进行检测,如果没有错误,会得到下图所示效果. 6、检测到没有错误后,点击运行(红色感叹号). 7、弹出的黑色窗口中为最终结果,可以看到大写字母“A”显示在上面.

台江区15066224917: C语言中char a='\70';是什么意思 -
褒苏茜草: '\70'意思是后边的70是八进制数,也就是十进制56,根据ascii对应就是8.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网