字符串
字符串是一种数据结构类型,相应的,包括最基础的如string标准库中的一些字符串比较、拷贝、复制、子串查找、倒置等常规操作便应运而生。
更复杂一些的, 还有如字典树、字符串哈希、KMP算法、前缀/后缀问题、ASC自动机、后缀树、回文树、Manacher等拓展的高级算法都在此分类下。
-
有以下程序:#include <stdio.h> main() { char *a[]={"abcd","ef","gh","ijk"}; int i; for(i=0;i<4;i++)printf("%c",*a[i]); }程序运行后的输出结果是()。
-
有以下程序:#include <stdio.h> #include <string.h> main() { char w[20], a[5][10] = {"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz"}; int i,j; for(i=0;i<5;i++) { j=0; while(a[i][j]!='\0')j++; w[i]=a[i][j-2]; } w[5]='\0'; puts(w); }程序运行后的输出结果是()。
-
有以下程序:#include <stdio.h> main() { char b[4][10],c; int i,j; for(i=0;i<4;i++) { j=0; while((c=getchar())!=' '&& c!='\n')b[i][j++]=c; b[i][j] = '\0'; } printf("%s%s%s%s\n",b[0],b[1],b[2],b[3]); }程序运行时从第一列开始输入: Peach flower is pink.<回车>则输出结果是()。
-
有以下程序:#include <stdio.h> main() { char b[3][10],c; int i; for(i=0;i<2;i++)scanf("%s",b[i]); i=0; while((c=getchar())!='\n')b[2][i++]=c; b[2][i] = '\0'; printf("%s%s%s\n",b[0],b[1],b[2]); }执行时若输入以下字符串:Peach flower is pink.<回车>则输出结果是()。
-
有以下程序:#include <stdio.h> main() { char b[4][10]; int i; for(i=0;i<4;i++) scanf("%s",b[i]); printf("%s%s%s%s\n",b[0],b[1],b[2],b[3]); }执行时若输入:Fig flower is red.<回车>则输出结果是()。
-
有以下程序:#include <stdio.h> main() { char ch[3][5] = {"AAAA","BBBB","CC"}; printf("%s\n",ch[1]); }程序运行后的输出结果是()。
-
若有以下程序段char str[4][12] = {"aa","bbb","ccccc","d"},*strp[4]; int i; for(i=0;i<4;i++) strp[i]=str[i];不能正确引用字符串的选项是()。
-
若有定义:char*ps[]={"aa","bb","cc","dd"};,则以下叙述正确的()。
-
以下语句中存在语法错误的是( )。
-
以下选项中有语法错误的是()。
-
有如下程序:#include <stdio.h> main() { char *p,old_str[10]="wind"; int password; scanf("%d",&password); p = old_str; while(*p) { printf("%c",*p+password); p++; } printf("\n"); }程序运行时,从键盘输入2<回车>,输出结果是()。
-
有以下程序:#include <stdio.h> main() { char A,B,C; B='1'; C='A'; for(A=0;A<6;A++) { if(A%2)putchar(B+A); else putchar(C+A); } }程序运行后输出的结果是()。
-
有以下程序#include <stdio.h> char fun(char *c) { if(*c<='Z'&&*c>='A') *c-='A'-'a'; return *c; } main() { char s[81],*p=s; gets(s); while(*p) { *p=fun(p); putchar(*p); p++; } printf("\n"); }若运行时从键盘上输入OPEN THE DOOR<回车>,程序的输出结果是()。
-
有以下程序:#include <stdio.h> main() { char a,b,c,d; scanf("%c%c",&a,&b); c=getchar();d=getchar(); printf("%c%c%c%c\n",a,b,c,d); }当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是()。
-
有以下程序:#include <stdio.h> main() { char a[30],b[30]; scanf("%s",a); gets(b); printf("%s\n%s\n",a,b); }程序运行时若输入:how are you?I am fine<回车>则输出结果是()。
-
有定义语句:char s[10];若要从终端给s输入5个字符,错误的输入语句是()。
-
以下不能将键盘输入的字符串:This is a string<回车>读入到str中的程序段是()。
-
设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。
-
若要求从键盘读入含有空格字符的字符串,应使用函数()。
-
有以下程序:#include <stdio.h> main() { char s1[]="programe",s2[]="Language"; char *p1=s1,*p2=s2; int k; for(k=0;k<8;k++) if(*(p1+k)==*(p2+k)) printf("%s ",(p1+k)); }程序的运行结果是()。