题目内容

下面程序的功能是用字符指针变量作函数参数编程实现字符串连接函数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'

查看答案
更多问题

下面程序的功能是将一个字符串s2插入到字符串s1中,其起始插入位置为n。程序运行示例如下:main string:hello,world!sub string:ccsite of begining:(<=12)5After instert:hellocc,world!按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #include #define N 100int main(){ int n, i, j, k, len; char s1[N], s2[N], s3[2 * N]; printf("main string:"); gets(s1); printf("sub string:"); gets(s2); len = strlen(s1); do {printf("site of begining:(<=%d)", len);scanf("%d", &n); }while (__________); for (i = 0; i < n; i++) {s3[i] = s1[i]; } for (j = 0; s2[j] != '\0'; j++) {__________________; } for (________; s1[k] != '\0'; k++) {________________; } s3[j + k] = '\0'; printf("After instert:%s\n", s3); return 0;}

A. 第17行: n < len第25行: s3[i] = s2[j]第27行: k = n第29行: s3[j] = s1[k]
B. 第17行: n <= len第25行: s2[j]=s3[i + j]第27行: k = 0第29行: s3[j] = s1[k]
C. 第17行: n > len第25行: s3[i + j] = s2[j]第27行: k = n第29行: s3[j + k] = s1[k]
D. 第17行: n >= len第25行: s3[j] = s2[j]第27行: k = 0第29行: s1[k] =s3[j + k]

下面程序的功能是从键盘输入一行字符(最长不超过80字符),用函数编程统计其中单词(以空格作为间隔符的字符串)的个数。基本思路是:当前被检验字符不是空格,而前一被检验字符是空格,则表示有新单词出现。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。(下面答案中两个单引号''中间都有一个空格)样例1:Input a string:How are you↙Numbers of words = 3样例2:Input a string: How are you↙Numbers of words = 3#include int CountWords(char str[]);int main(){ char str[81]; int num; printf("Input a string:\n"); gets(str); num=CountWords(str); printf("Number of words=%d\n", num); return 0;}int CountWords(char str[]){ int i, num; num = (__________) ? 1 : 0; i=1; while (str[i]!='\0') {if (_______________________){num++;}__________; } return num;}

A. 第17行: str[0] == ' '第21行:str[i]!=' ' || str[i-1] == ' '第25行:i++
B. 第17行:str[0] != ' '第21行:str[i]!=' ' && str[i-1] == ' '第25行:i++
C. 第17行:str[0] != '\0 '第21行:str[i]==' ' && str[i-1] == ' '第25行:i++
D. 第17行:str[0] != ' '第21行:str[i]!=' ' && str[i-1] != ' '第25行:num++

下面程序的功能是实现字符串逆序存放。程序运行结果如下:Input a string:ABCDEFGHI↙Inversed results:IHGFEDCBA按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #include #define N 80void Inverse(char *pStr);int main(){ char a[N]; printf("Input a string:"); gets(a); Inverse(a); printf("Inversed results:%s\n", a); return 0;}/* 函数功能: 实现将字符数组中的字符串逆序存放 */void Inverse(____________){ int len; char temp; char *pStart; /* 指针变量pStart指向字符串的第一个字符 */ char *pEnd; /* 指针变量pEnd指向字符串的最后一个字符 */ len = strlen(pStr); /* 求出字符串长度 */ for (pStart=pStr,___________; pStart

A. 第16行:char *pStr第23行:pEnd=pStr+len-1pEnd--第26行: *pStart = *pEnd
B. 第16行: char pStr第23行: pEnd=pStr+lenpEnd--第26行: *pStart = *pEnd
C. 第16行: char *pStr第23行: pEnd=pStr+len-1pEnd++第26行: pStart = pEnd
D. 第16行: char pStr第23行: pEnd=pStr+len+1pEnd++第26行: *pStart = *pEnd

下面程序的功能是从键盘输入一行字符(不超过80个),统计其中的英文字符、数字字符、空格和其他字符的个数。例如,输入的一行字符为*****c language.*****输出为English character: 9digit character: 0space: 1other character: 11按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #include #define STR_LEN 80int main(){ char str[STR_LEN+1]; int len, i, letter = 0, digit = 0, space = 0, others = 0; printf("Please input a string:"); ___________; for (i = 0; __________; i++) {if (___________________________)letter ++; /*统计英文字符 */else if (______________________)digit ++; /*统计数字字符 */else if (str[i] == ' ' )space ++; /*统计空格*/elseothers ++; /*统计其他字符的个数*/ } printf("English character: %d\n", letter); printf("digit character: %d\n", digit); printf("space: %d\n", space); printf("other character: %d\n", others); return 0;}

A. 第9行: gets(str)第10行:str[i] != '\0'第12行:str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z'第14行:str[i] >= '0' && str[i] <= '9'
B. 第9行: scanf("%s",str)第10行: str[i] != '\0'第12行: 'z'>=str[i] >= 'a' || 'A' <= str[i] <= 'Z'第14行: 9 >= str[i] >= 0
C. 第9行: puts(str)第10行:str[i] != '\n'第12行:'z' >= str[i] >= 'a' || 'A' <= str[i] <= 'Z'第14行:str[i] >= '0' && str[i] <= '9'
D. 第9行: scanf("%s",str)第10行:str[i] != '\n'第12行:str[i] >= 'a' || str[i] <= 'z' && str[i] >= 'A' || str[i] <= 'Z'第14行:str[i] >= 0 && str[i] <= 9

答案查题题库