如果提交的程序中包含了下列的关键词之一,就会产生这个错误。为什么?

将输入的一个字符串s拷贝输出。
-----------------------------------------------------------------------------
编写一个函数str_cpy()求一个串的拷贝:
原型:char * str_cpy(char * t, char * s);
功能:把串s复制到串t中,返回值是串t。
函数的调用格式见“Append Code”。
-----------------------------------------------------------------------------
Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。
被禁用的头文件:string.h、stdlib.h。
被禁用的库函数:strcpy()、strncpy()、memcpy()等。

输入
输入为多行。每行为一个字符串s。s的字符总数不超过100个。

输出
串s的复制。
输出两遍,一遍是测试返回值,一遍是测试str。

样例输入
2 Look!
5 I love china!
样例输出
2 Look!
2 Look!
5 I love china!
5 I love china!

int main()

{
char s[MAX_STR_LEN], str[MAX_STR_LEN], *p;
while(gets(s) != NULL)
{
p = str_cpy(str, s);
puts(p);
puts(str);
}
return 0;
}

Smart猫小萌
浏览 147回答 2
2回答

慕标琳琳

#include<stdio.h>#define&nbsp;MAX_STR_LEN&nbsp;100char*&nbsp;str_cpy(char&nbsp;*str,char&nbsp;*s){&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i<MAX_STR_LEN;i++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str[i]=s[i];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(str[i]=='\0')break;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;str;}int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;s[MAX_STR_LEN],str[MAX_STR_LEN],*p;&nbsp;&nbsp;&nbsp;&nbsp;while(gets(s)!=NULL){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p=str_cpy(str,s);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts(p);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts(str);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}

杨魅力

char* str_cpy(str,s){ int i;for (i=0; i<(1+strlen(s)); i++) // +1意思是连终止符也一块抄str[i]=s[i];return str;}
打开App,查看更多内容
随时随地看视频慕课网APP