设有下面的程序段:char s[]="china";char*p;p=s;则下列叙述正确的是A.s和p完全相同B.数组s中的内
设有下面的程序段: char s[]="china"; char*p;p=s; 则下列叙述正确的是
A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相同
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
设有下面的程序段: char s[]="china"; char*p;p=s; 则下列叙述正确的是
A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相同
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
一个循环程序段,则这个循环段的“循环条件”是()。
A.c=string[i]='\0'
B.(c=string[i])='\0'
C.c=string[i]!='\0'
D.(c=string[i])!=' \0'
A.O(1)
B.O(m+n)
C.O(log2mn)
D.O(m*n)
写出下列程序段的输出结果。(假设此栈中元素的类型是char)
voide main()
{stack s;
char x,y;
InitStack(s)
x=‘1’,y=‘0’
push(s,x);
push(s,x);
push(s,y);
push(s,x);
push(s,‘e’);
push(s,x);
pop(s,x);
push(s,‘h’);
while(!stackEmpty(s))
{pop(s,y);
printf(y);
}
prinft(x)
}
下面的程序段: NUM DW ? NAMEDW 10 DUP () CNT EQU 10 LEN EQU $-NUM HOV AX, LEN 执行后,AX中的内容是()。
A.16H
B.17H
C.11H
D.12H
执行下面的程序段后,(AX);() TAB DW 1,2,3,4,5,6 ENTRY EQU 3 MOV BX,OFFSET TAB ADD BX,ENTRY MOV AX,[BX]
A.0003H
B.0300H
C.0400H
D.0004H
A.xyabcAB
B.abcABz
C.ABabcz
D.abcdABCD
现有如下程序段 #include"stdio.h" #include"string.h" main() { char a[]="acfijk"; /*这里是有序的字符序列*/ char b[]="befijklqswz"; /*这里是有序的字符序列*/ char c[80],*p; int i=0,j=0,k=0; while(a[i]!='\0'&&b[j]!='\0') { if(a[i]<b[j])c[k++]=a[i++]; else if(a[i]>b[j])c[k++]=b[j++]; else { c[k++]=b[j++]; i++;}} while(a[i]=='\0'&&b[j]!='\0') c[k++]=b[j++]; while(a[i]!=,'\0'&&b[j]=='\0') c[k++]=a[i++]; c[k]='\0'; puts(c);} 则输出结果是
A.acfijkbefijklqswz
B.abceffiijjkklqswz
C.befijklqswz acfijk
D.abcefijklqswz
下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#include <stdio.h>#include <string.h>void strcpy2(char *s,char *t){char *p=; while(*s++=*t++); s=s-1; while(=*p++);}main(){char str1[100]="abcd",str2[]="efgh"; strcpy2(str1,str2); printf("%s\n",strl);}