求解释c语言中char a[2]中的2是什么意思 是指能输入的最大字符数还是什么?最多能输几个字符和字符组

作者&投稿:刀桂 (若有异议请与网页底部的电邮联系)
char a[2]中可以输入几个字节~

C程序的变量存储方式是栈存储,比如你在a数组后有开辟一个b数组存储6个单位。然后输入abcde和abcdethf等两个字符串,输入a的时候会从a的头内存位置开始存储,向后依次存储直到字符串结束,如果过程中出现内存读写错误即空间未声明,则出现runtime error,然后读入下一个字符串,从头指针位置开始依次存储。给你一个图配合理解。栈属性就是先进后出,就是后入进去的数据在栈的上部。

希望能对你有帮助。

可以存2个字符
不过如果存字符串,就只能有一个有效字符了.
另一个字符是结束符\0

表示字符型数组a中可以存放2个字符,第1个字符用a[0]访问,第2个字符用a[1]访问,最大下标可以用0~(2-1)范围的。比如a[100]合法下标范围是0~99;
当a需要保存字符串时,需要注意,字符串必须以0值结尾,表示成字符就是'\0',而且这个0不算在字符串中的字符,那么你用a数组最多只能保存n-1个字符组成的数组,如果是char a[2];的话只能保存一个字符组成的字符串;如:char a[20]={ "Hello !" };或者char a[20]={ 'H','e','l','l','o','\0' };这时字符串占用6个数组元素,但字符串长度为5,如果你用strlen语句计算的长度也为5,你最多可在这个数组中保存长度为19的字符串,需要自己在末尾添加0或'\0',前面语句char a[20]={ "Hello !" };是编译器自动帮你加了结尾符0;
当懒得数字符串中字符个数时,也可以让编译器帮你数:char a[]={"Hello"};这与你自己写:char a[6]={ "Hello" };是一样的。

char a[2];
这是声明。声明变量 a 是 char 型数组,有2个元素。
语句里 写 a[0] 表示它是 char 型数组a 里的 第一个 元素
a[1] 是 char 型数组a 里的 第二个 元素。
语句例子:
a[0]='A'; a[1]='x';
printf("%c %c\n",a[0],a[1]);

char a[2]; 也可以看成 是 字符串 变量 a。 由于 字符串要用1个单元存放字符串 结束符,所以只能 存放 长度为 1 的字符串。
语句例子:
strcpy(a,"A");
printf("%s\n",a);
-----
声明,带初始化写法:
char a[2]={ 'A', 'x'}; // 初始化 a[0]='A'; a[1]='x'; -- 单引号括起的是 字符常量
char a[2]="A"; // 初始化 字符串 "A" -- 双引号括起的是 字符串,含 字符串结束符。

【2】就是数组能输入2个字符。


单片机c语言程序中,数组最多能有几个元素?为什么我定定义了一个全局的...
原则上,C语言中数组所包含的元素个数理论上多少都行,如果要开一个很大的数组,比如int arrayint[10000][10000];在main()中声明该数组就会使应用程序退出,但是如果你把该数组的声明放在所有函数体之外,让它变成一个全局变量,就没有任何限制了,你想开多大的数组都可以。但在单片机c语言程序中,...

c语言 用指针做函数参数从10个数中找出最大值和最小值输出。(求源代码...
include <iostream> using namespace std;int main(){ int a[10],i,max,min,*p;p=a;for(i=0; i<10; i++)cin>>*p++;max=min=a[0];for(p=a; pmax)max=*p;if(*p<min)min=*p;} cout<<"max="<<max<<endl;cout<<"min="<<min<<endl;return 0;} 运行效果 ...

C语言中,一个变量的值进行减运算后,这个值的内存地址也变化了。是吗...
内存地址是不会发生变化的,只是存储在这块内从中的值发生了改变。如果想让内存地址发生变化需要对内存进行操作。例如:cha a[8] = "abcde";char *p;p = a; \/\/指针p指向数组a的首地址 p++; \/\/此时用p对a的内存进行操作,每相加一下内存向后移1个byte。p指向的地址变了 ,但 是 ...

c语言 warning char 和char*
你函数形参 nameless 定义的是char,但是函数中,你却把它做为函数strcmp的参数2来使用。strcmp需要的参数是字符数组指针也就是char *型参数。你给char当然报错了。原型:int strcmp(const char *s1,const char *s2); 作用比较两个字符串是否相等。若str1==str2,则返回零;若str1<str2,则返回...

如何用C语言编程计算1000的接乘,精确到个位?
include<stdio.h> define N 2570 define M 4 define K 1000 \/*十进制位整理*\/ void dp(char ch[],int b){ int f;for(f=0;!ch[f];f++);for(;b>=f;b--)if(ch[b]>9){ ch[b-1]+=ch[b]\/10;ch[b]%=10;} } \/*十进位的复制与清除*\/ void dcyc(char cha[],char chc...

c语言中字符型转化为整型
字符型数据转换成整形数据时,实际上是转换成该字符所对应的ASCII编码值。另外,字符型和整型其实之间可以互相直接转换,也就是字符型数据可以按整型输出,整形数据也可按字符型输出,至于输入,直接定义类型就可以了。你没说明问题是什么,我也只能简单的说一下了。这里其实没必要用什么强制类型转换,对于...

高人帮帮忙,C语言编写程序问题,先谢谢
include<stdio.h> include<string.h> void average();void paixu();int grade[50];void main(){ int i;printf("enter grade:\\n ");for(i=0;i<50;i++)scanf("%d",&grade[i]);average();paixu();} void average(){ int i,j; float sum=0,aver,cha;printf("the grade ...

求三个数中最大数的最小数的差值会C语言的弄一下!
main(){float a,b,c,max,min;scanf("%f %f %f",&a,&b,&c);max=a>b?a:b; \/\/该表达式问a是否大于b,是的max=a,不是的max=b)max=max>c?max:c; \/\/原理同上,用a,b中较大的值再和c比较,求出三者之最 min=a<b?a:b min=min<c?min:c;printf("Answer=%f",max-min);} ...

一道C语言的简单题
include <stdio.h> void main(){ int a,b,he,cha,ji,shang,yu;printf("请输入两个整数:\\n");scanf("%d %d",&a,&b);he=a+b;cha=a-b;ji=a*b;shang=a\/b;yu=a%b;printf("%d %d %d %d %d",he,cha,ji,shang,yu);} 注意float shang=float(a)\/b; 和shang=(float)a\/b; ...

C语言中,char c='a',d,g,'d'分别代表多少?怎么得出的?Ascill表不知道怎 ...
http:\/\/ascii.911cha.com\/ 'a'代表十进制数字97 'd'代表十进制数字100 以此类推

滨江区15787242466: 求解释c语言中char a[2]中的2是什么意思 是指能输入的最大字符数还是什么?最多能输几个字符和字符组 -
休曼明齐: 表示字符型数组a中可以存放2个字符,第1个字符用a[0]访问,第2个字符用a[1]访问,最大下标可以用0~(2-1)范围的.比如a[100]合法下标范围是0~99;当a需要保存字符串时,需要注意,字符串必须以0值结尾,表示成字符就是'\0',而且这个0...

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

滨江区15787242466: C语言中char的意义 -
休曼明齐: 表示一个变量是char类型,当用这个变量的时候,以它在内存的开始地址,用解释char的方式解释char类型多占位数.

滨江区15787242466: 在c语言中,char a[2] ,能存几个字符?(一个还是两个字符) -
休曼明齐: 可以存2个字符 不过如果存字符串,就只能有一个有效字符了. 另一个字符是结束符\0

滨江区15787242466: char a[2]中可以输入几个字节 -
休曼明齐: C程序的变量存储方式是栈存储,比如你在a数组后有开辟一个b数组存储6个单位.然后输入abcde和abcdethf等两个字符串,输入a的时候会从a的头内存位置开始存储,向后依次存储直到字符串结束,如果过程中出现内存读写错误即空间未声明,则出现runtime error,然后读入下一个字符串,从头指针位置开始依次存储.给你一个图配合理解.栈属性就是先进后出,就是后入进去的数据在栈的上部.希望能对你有帮助.

滨江区15787242466: c语言中char string [i]中i是什么意思 -
休曼明齐: 是这样的.char[i]中i是从0开始的.所以char[0]是i,char[1]是空格,char[2]是a,char[3]是m

滨江区15787242466: 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"是赋给数组的值.

滨江区15787242466: 计算机C语言中的关键字:char是什么意思? -
休曼明齐: 定义为字符类型,char a,就是定义a为字符型

滨江区15787242466: c语言中char*是什么意思? -
休曼明齐: char* 是声明一个字符类型的指针. 比如:chat* y; 就是声明一个指针y,这个指针指向的地址上只能存放字符类型的值. 扩展资料:在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在...

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

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