题目内容

以下程序中函数FindMinString的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。例如,若运行时依次输入三个字符串:123↙1223↙124↙输出结果为1223按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #include char *FindMinString( _____________ ){ if(_____________)return(s1); elsereturn(s2);}int main(){ int i; char string[20], str[3][20]; for(i=0;i<3;i++) {gets(str[i]); } strcpy(string,FindMinString(str[0],str[1])); /*对字符串进行复制*/ strcpy(string,___________________); printf("%s\n",string); return 0;}

A. 第3行:char s1, char s2第5行:s1 B. 第3行:char s1, char s2第5行:strcmp(s1,s2)>0第20行:FindMinString(str[0],str[2])
C. 第3行:char *s1, char *s2第5行:s1>s2第20行:strcmp(str[1],str[2])
D. 第3行: char *s1, char *s2第5行:strcmp(s1,s2)<0第20行:FindMinString(string,str[2])

查看答案
更多问题

子函数Move的功能是将某字符串中的第i个字符向左移动1位,覆盖第i-1个字符。下面程序通过多次调用Move函数,将字符数组b中存放的字符串依次左移3位,并在移动后的字符串末尾添上字符0补足。程序的运行结果为:234567890034567890004567890000按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include void Move( _________,int i){ a[i-1]=a[i];}int main( ){ char b[11]={"1234567890"}; int i,j; for (j=0;j<=2;j++) {for(i=1;b[i]!='\0';i++){__________;printf("%c",b[i-1]);}_________;printf("%c\n",________); } return 0;}

A. 第2行: char a第15行:Move(b,i)第18行:b[i-1]='\0'第19行:b[i-1]
B. 第2行: char *a第15行: Move(b,i)第18行: b[i-1]='0'第19行: b[i-1]
C. 第2行: char *a第15行:Move(b,i)第18行:b[i]='0'第19行:b[i]
D. 第2行: char a第15行:Move(i,b)第18行:b[i]='\0'第19行:b[i]

下面函数Fun的功能是#include #include int Fun(char *ps){ char *p; p=ps; while(*p++); return (p-ps);}int main(){ char *s; int a1,a2; s = "hello"; a1=Fun(s); a2=strlen(s); printf("%d,%d\n", a1,a2); return 0;}

A. 比较两个字符串的大小
B. 将串ps复制到串s中
C. 求字符串的长度
D. 以上三种说法都不对

下面程序的功能是将字符数组中存放的字符串以多种书写形式输出,如“Program”,“PROGRAM”,以及逆序输出的字符串“margorp”等,程序的运行结果为:ProgramPROGRAMmargorp按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #include int main(void){ int i = 0; char b[] = "program"; char *a = "PROGRAM"; printf("_____\n", *a, b + 1); /* 输出Program */ while (_________________) /* 输出PROGRAM */ { ___________;i++; } printf("\n"); while (_____) /* 输出margorp */ {putchar (___________); } __________; return 0;}

A. 第8行: %s%s第9行: (*a+i)!='\0'第11行:putchar(*a + i))第15行:i--第17行:*(b + i)第19行:putchar (*(b + i))
B. 第8行: %c%s第9行: *(a+i)!='\0'第11行: putchar(*(a + i))第15行: --i第17行: *(b + i)第19行: putchar (*(b + i))
C. 第8行: %c%s第9行: *(a+i)=='\0'第11行: putchar(*(a + i))第15行:--i第17行:*b + i第19行:putchar (*b + i))
D. 第8行: %s%s第9行: (*a+i)=='\0'第11行: putchar(*a + i))第15行:i--第17行:*b + i第19行:putchar (*b + i)

下面程序的功能是用字符指针变量作函数参数编程实现字符串连接函数strcat()的功能,将字符串srcStr连接到字符串dstStr的尾部。程序的运行结果如下:Please enter the source string:abcd↙Please enter the other string:efgh↙The concat is:abcdefgh按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include void MyStrcat(char *dstStr, char *srcStr);int main(){ char s[80]; //源字符串 char t[80]; //待连接字符串 printf("Please enter the source string: \n"); gets(s); printf("Please enter the other string: "); gets(t); //输入字符串 MyStrcat(s, t); //将字符数组t中的字符串连到s的尾部 printf("The concat is:\n"); puts(s); //输出连接后的字符串s return 0;}void MyStrcat(char *dstStr, char *srcStr) //用字符指针作为函数参数{ while (__________) {dstStr++; } while (*srcStr != '\0') //若srcStr所指字符不是字符串结束标志 { _________; //将srcStr所指字符复制到dstStr所指的存储单元中srcStr++; //使srcStr指向下一个字符dstStr++; //使dstStr指向下一个存储单元 } _____________; //在字符串dstStr的末尾添加一个字符串结束标志}

A. 第19行:dstStr == '\0'第25行:dstStr = srcStr第29行:*dstStr = '\n'
B. 第19行:*dstStr == '\0'第25行:*dstStr = * srcStr第29行:*dstStr = '\n'
C. 第19行:dstStr != '\0'第25行:dstStr = srcStr第29行:*dstStr = '\0'
D. 第19行: *dstStr != '\0'第25行: *dstStr = * srcStr第29行: *dstStr = '\0'

答案查题题库