单选题下列函数的功能是( )。fun(char * a,char * b){ while((*b= *a)!='\0') { a++; b++; }}A将a所指字符串赋给b所指空间B使指针b指向a所指字符串C将a所指字符串和b所指字符串进行比较D检查a和b所指字符串中是否有'\0'
单选题
下列函数的功能是( )。fun(char * a,char * b){ while((*b= *a)!='\0') { a++; b++; }}
A
将a所指字符串赋给b所指空间
B
使指针b指向a所指字符串
C
将a所指字符串和b所指字符串进行比较
D
检查a和b所指字符串中是否有'\0'
参考解析
解析:
函数fun中a和b是两个字符型指针,在while语句的表达式中将指针a所指向的字符赋给指针b所指向的内存单元,再判断指针b所指向的字符是不是字符串中的结尾符,若不是,则字符指针a和b分别自增,再执行循环语句,直至b所指向的字符为字符串中的空字符。所以答案选择A选项。
函数fun中a和b是两个字符型指针,在while语句的表达式中将指针a所指向的字符赋给指针b所指向的内存单元,再判断指针b所指向的字符是不是字符串中的结尾符,若不是,则字符指针a和b分别自增,再执行循环语句,直至b所指向的字符为字符串中的空字符。所以答案选择A选项。
相关考题:
单选题设有宏定义:#define IsDIV(k,n) ((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)IsDIV(m,7)为真时所要表达的是( )。A判断m是否能被5或7整除B判断m是否能被5和7整除C判断m被5或7整除后是否余1D判断m被5和7整除后是否都余1
单选题设有以下定义:char s1[]=0123;char s2[]={'0','1','2','3'};则以下叙述正确的是( )。A数组s1的长度小于s2的长度B数组s1和s2的长度相同C数组s1的长度大于s2的长度D数组s1和s2完全等价
单选题有以下程序:#includemain(){ if('\0'==0)putchar('1'); if('0'==0)putchar('2'); if('a''b')putchar('3');}程序运行后的输出结果是( )。A1B123C23D3
单选题有以下程序:#include main(){ char c; do { c = getchar(); putchar(c); }while(c!='#'); printf();}执行时如输入:abcdefg##回车,则输出结果是( )。Aabcdefg#BabcdefgCabcdefg##D##
单选题下列叙述中错误的是( )。A在数据库系统中,数据的物理结构必须与逻辑结构一致B数据库技术的根本目标是要解决数据的共享问题C数据库设计是指在已有数据库管理系统的基础上建立数据库D数据库系统需要操作系统的支持
单选题有以下程序:#include int fun(int x,int y){ if(x==y)return(x); else return((x+y)/2);}main(){ int a=4,b=5,c=6; printf(%d,fun(2*a,fun(b,c)));}程序运行后的输出结果是( )。A3B6C8D12
单选题有以下程序#includecharfun(char*c){ if(*c='Z'*c='A') *c-='A'-'a'; return*c;}main(){ chars[81],*p=s; gets(s); while(*p) { *p=fun(p); putchar(*p); p++; } printf();}若运行时从键盘上输入OPENTHEDOOR回车,程序的输出结果是( )。AOPEN THE DOORBOPEN tHE dOORCopen the doorDOpen The Door
单选题以下错误的定义语句是( )。Aint x[][3]={{0},{1},{1,2,3}};Bint x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};Cint x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};Dint x[][3]={1,2,3,4};
单选题在C语言中,下面关于数组的描述中正确的是()。A数组的大小是固定的,但可以有不同类型的数组元素B数组的大小是可变的,但所有数组元素的类型必须相同C数组的大小是固定的,所有数组元素的类型必须相同D数组的大小是可变的,可以有不同的类型的数组元素
单选题有如下定义:struct st{ int a; float b;}x[10];FILE *fp;若文件已正确打开,且数组x的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。Afor(i=0; i10; i++) fwrite(x,sizeof(struct st), 1,fp);Bfwrite(x,10*sizeof(struct st), 1,fp);Cfwrite(x,sizeof(struct st), 10,fp);Dfor(i=0; i10; i++) fwrite(x[i],sizeof(struct st), 1,fp);
单选题有定义语句:char s[10];若要从终端给s输入5个字符,错误的输入语句是( )。Agets(s[0]);Bscanf(%s,s+1);Cgets(s);Dscanf(%s,s[1]);
单选题下面结构体的定义语句中,错误的是( )。Astruct ord{int x;int y;int z;};struct ord a;Bstruct ord{int x;int y;int z;}struct ord a;Cstruct ord{int x;int y;int z;}a;Dstruct {int x;int y;int z;}a;
单选题下列叙述中正确的是( )。A链表结点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构B线性表的链式存储结构中,每个结点必须有指向前件和指向后件的两个指针C线性表的链式存储结构中,每个结点只能有一个指向后件的指针D线性表的链式存储结构中,叶子结点的指针只能是空
单选题若有以下程序#include #define N 4void fun(int a[][N], int b[], int flag){ int i,j; for(i=0; i a[i][j]) : (b[i] a[i][j])) b[i] = a[i][j]; }}main(){ int x[N][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}, y[N],i; fun(x,y,1); for (i=0; iA1,2,3,4,13,14,15,16,B4,8,12,16,1,5,9,13, C1,5,9,13,4,8,12,16,D13,14,15,16,1,2,3,4,