有说明语句:char a[ ]=“this is a book”。请问该数组到底占了几个字节?
char a[ ]=“this is a book”。该数组总共占了15个字节。因为其中字母和空格共14个,而字符串结束标记'
'也要占一个字节。
char a[4],[5];
首先这样的声明是错误的,因为逗号后边的[5]没有一个变量名称,无法分配空间,
char型的变量一个占一个字节,所以a[4]占4个字节,如果中间没有逗号,空间就是
楼上说的20个,
char a[4][5];表示有一下变量:
a[0][0] a[0][1] a[0][2] a[0][3] a[0][4]
a[1][0] a[1][1] a[1][2] a[1][3] a[1][4]
a[2][0] ........
a[3][0] .........
一共20个,所以20个字节。
虽然你没有显示写出那个结束符,但是编译器还是会自动给你加上的.
所以,以下两行例子等效,都占六个字结:
char a[]="study";
char a[]={'s','t','u','d','y','0'};
如果是C语言这个数组的原型应该“this is a book\0 字母空格都算1个字节 在加“\0”一个字节总共15个字节。
在C语言中,字符串是被作为字符数组来处理的。一般一个数组元素储存一个字符,并且规定了在串末以字符‘\0’作为“字符串结束标志”
当然如果是char型就不一样了
可以参考http://zhidao.baidu.com/question/50600116.html我当时 看这个看懂的。
一共15个(包括3个空格和最后一个字符串结束标志"\0".).
thisisabook 十一个 三个空格 后边一个/0 11+3+1=15
15个了
结束的时候要有一个\0
从汇编语言的角度看清数组名和指针变量的区别
下标操作就是相对于标号偏移n对应的内存单元,a[2],p[2] 即a+2和p+2对应的单元(这里是一个字节)。(3)用常量字符串初始化字符数组和指针变量 char a[]="hello";char *p="hello";1212 这两条语句似乎没啥区别,都是初始化了一个字符串。但是,经过上面的分析可以看出这两条语句的区别是...
#include<stdio.h> void main() { char a='本金',b='年数',c='年利率...
D)对数组a进行选择排序(降序)25.下面的程序对输入的每一个数字出现的次数进行计数,下划线处应填入的正确语句为( )。#include "stdio.h"main(){int i,ch, n[10];for(i=0;i10;++i) n[i]=0;while((ch=getchar())!=‘\\n’)if(ch=‘0’ ch=‘9’)___;for(i=0;i10;++i)printf("数字%d出...
getchar\\putchar函数该怎么用啊
你可以把要输出的字符串放在一个字符数组中,再用一个循环语句逐个输出字符 例如: #include<stdio.h> main(){char a[]="hello";int i;for(i=0;i<5;i++){putchar(a[i]);} } getchar也是一样 用一个循环语句
关于数组初始化
对数组赋值的目的:让数组的值是我们需要的确定的值。问题一:没有必要对数组初始化,因为gets已经初始化过了。只要值是我们想要的就行。问题二:编译器要求的 char a[10]= "i love you"; \/\/ 正确 char a[10];a[10]="i love you"; \/\/ 错误,编译器规定的 strcpy(a,"i love you")...
c++中字符输入格式中,分隔符是什么
则正确的输出语句是D。逗号 表示puts(a),puts(b);是逗号表达式语句,从左到右依次执行。输出结果与分号隔开成的2个语句一样:char a[80]="aaa",b[80]="bbb";puts(a),puts(b); \/\/逗号。字符串主要用于:编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符...
设有说明语句:char a=’\/123abc';则变量a包含几个字符 c++问题,_百 ...
包含4个字符,\\123中123为八进制ASCII码,为“S”,若语句是char *a = ''\\123abc;则char* a 实际上等于Sabc 得是char *a吧,char a只能赋一个字节,前面的是\\还是\/?
c语言 题目
2、C语言中普通整型变量的类型说明符为___,在内存中占___字节,有符号普通整型的数据范围是___ . 3、整数-35在机内的补码表示为___. 4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是___. 5、有如下语句:char A[ ]={“I am a student”}; 该字符串的长度是___,A[3]=___. 6、符号...
C语言:设有说明语句:char a='\\72';则变量a()中72为何是八进制的_百度知...
\\72表示的是一个字符哦 \\是转义符号,这里的72是八进制的,换成十进制为58 如果是\\92那就是错误的,因为9已经超过8进制的取值范围。1.一般转义字符 这种转义字符,虽然在形式上由两个字符组成,但只代表一个字符。常用的一般转义字符为:\\a \\n \\t \\v \\b \\r \\f \\\\ \\’\\”9...
字符与字符串的区别
相应的字符串变量,但是可以用一个字符数组来存放一个字符串常量:如:char [] s = "abcde";5.字符常量栈一个字节的内存空间,字符串常量的内存字节数等于字符串字节数加1,增加的一 个自己中存放字符"\\0",这是字符串结束符;注意字符'a',与字符串"a"在内存中存储的情况不同。
设有说明语句:char a= '\\020';则语句printf(“%d”,a);的输出值是
'\\020' 这个是8进制 换成10进制 2*8 = 16 输出16。