首页/ 题库 / [单选题]对两个数组a和b进行下列初始化:char的答案

对两个数组a和b进行下列初始化:char m[]="1234567";char n[]={'1','2','3','4','5','6','7'};则下列叙述正确的是( )。

单选题
2021-07-23 13:09
A、数组m与数组n完全相同
B、数组m与数组n长度相同
C、数组m比数组n长1
D、数组m与数组n中都存放字符串
查看答案

正确答案
C

试题解析
解析:本题考查字符数组和字符串赋值给数组的一些区别。.语句“char m[]="1234567";”定义了一个字符型数组并进行了初始化,C语言规定,在字符串的末尾自动加上串结束标记'\0',因此数组m的长度是8;而数组n是按照字符方式对数组进行初始化,系统不会自动加上串结束标记'\0',因此数组n的长度是7。

标签:
感兴趣题目
假定二维数组的定义为“char a[M][N];”,则该数组所占存储空间的字节数为()。
假定二维数组的定义为“char a[M][N];”,则该数组所占存储空间的字节数为()。
设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()。
设二维数组A[1.. m,1.. n](即m行n列)按行存储在数组B[1.. m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()。
设二维数组A[l.m,1..n](即m行n列)按行存储在数组B[1.m*n]中,则二维数组元素Ai,j]在一维数组B中的下标为()。
下列函数的功能是fun(char *a,char *B){ while((*b=*A)! =‘\O’) {a++;b++;}}
设二维数组A[1..m,1..n]按行存储在数组B[1..m×n]中,则二维数组元素A[i,j]在一维数组B中的下标为( )。
已知有一维数组T[0...m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m]中,即B[1]=T[0],B[2)= T[n],依次类推,那么放入B[k](1≤k≤m)的元素是______。
设有如下定义char *s[2]={"abcd","ABCD"};则下列说法错误的是A.s数组元素的值分别是″abcd″和″ABCD″两个字符串的首地址B.s是指针数组名,它含有两个元素,分别指向字符型一维数组C.s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素D.s数组的两个元素中分别存放了字符′a′和′A′的地址
Aarr和1Barr两个数组说明如下: VAR Aarr:Array[0...7]of char; Bart:Array[-5…2,3…8]of char; 这两个数组分别能存放的字符的最大个数是______。
Aarr和Barr两个数组说明如下: VAR Aarr:Array[0…7] of char; Barr:Array[-5…2,3…8] of char; 这两个数组分别能存放的字符的最大个数是( )
假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为()。
相关题目
阅读下面程序段,则执行后输出的结果是
#include "stdio.h"
main()
{ char fun(char,int);
char a=′A′;
int b=13;
a=fun(a,b);
putchar(a);}
char fun(char a,int b)
{char k;
k=a+b;
return k;}
函数fun的返回值是
fun(char*a,char*b)
{intnum=0,n=0;
while(*(a+num)!=′\0′)num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
returnnum;
}
char a[]={'a','b','c'};char b[]={"abc"};数组a和数组 b 占用的内存空间大小不一样.( )
char a[]={\'a\',\'b\',\'c\'};char b[]={"abc"};数组a和数组 b 占用的内存空间大小不一样.( )
对两个数组a和b进行下列初始化: char m[]="1234567"; char n[]={1,2,3,4,5,6,7}; 则下列叙述正确的是( )。
对两个数组a和b进行下列初始化:char m[]="1234567";char n[]={'1','2','3','4','5','6','7'};则下列叙述正确的是( )。
设int m=3;float n=126;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,126a<回车换行>,则scanf语句应是 。
对两个数组a和b进行如下初始化char a[]="ABCDEF";char b[]={A,B,C,D,E,F};则以下叙述正确的是( )。
对字符数组s赋值,不合法的一个是( )。A.char s[]="Beijing"B.char s[20]={"Beijing"}C.char s[20];s="Beijing"D.char s[20]={’B,’e’,’i’,’j’,’i’,’n’,’g’}
有以下C程序:char fun(char x, char y){ if(x)return y;main(){ int a ='9', b ='8', c ='7';printf("% c/n", fun(fun(a,b), fun(b,c)));程序的执行结果是(31)。
下列程序的输出结果是( )。 char*point(char*pt): main { char b[4]={a,c,s,f),*pt=b; pt=point(pt); printf("%c\n",*pt); } point(char*p) { p+=3; return p; }
以下程序的输出结果是( )。 #include<iostream.h> void func(char**m) { ++m: cout<<*m<<endl; } void main() { static char*a[]={"MORNING","AFTERTOON","EVENING"}; char**n; n=a: func(n); }
以下程序的输出结果是( )。 #include<iostream.h> void func(char**m) { ++m: cout<<*m<<end1; } void main() { static char*a[]={"MORNING","AFTERTOON","EVENING"}; char**n: n=a; func(n); }
设有语句int n,m;char a[5],b;cin>>n>>a>>m>>b;为了分别将10和20分别赋给n和m,look赋给a,t赋给b,则正确的输入为
设有语句 int n,m; char a[5],b; cin>>n>>a>>m>>b; 为了分别将10和20分别赋给n和m,look赋给a,t赋给b,则正确的输入为
若有定义:char *st= "how are you "; 下列程序段中正确的是A.char a[11], *p; strcpy(p=a+1,&st[4]);B.char a[11]; strcpy(++a, st);C.char a[11]; strcpy(a, st);D.char a[], *p; strcpy(p=&a[1],st+2);
设二维数组A[1„m,1„n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。
设二维数组A[1...m,1...n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。
设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为( )。
设二维数组A[1„m,1„n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。
广告位招租WX:84302438

免费的网站请分享给朋友吧