有一个包含了n个字符的字符串.编写一个函数,将此字符串从头开始共m个字符作为一个子字符串复制到另一个字符数组中,并输出该

问题描述:

有一个包含了n个字符的字符串.编写一个函数,将此字符串从头开始共m个字符作为一个子字符串复制到另一个字符数组中,并输出该子串.
/
提示:
(a)在主函数中定义字符数组1和字符数组2,并将字符串赋给数组1.输入要复制的字符个数m后,调用函数进行字符复制,最后在主函数中按%s格式输出字符数组2.
(b)自定义函数的参数应该包括字符串1和字符串2的指针(字符型指针变量或字符数组名),以及复制的字符个数m.
(c)自定义函数中使用循环将字符串1中前m个字符逐一复制到字符数组2中(注意要给复制的子串加结束标志’\0’).
#include
#include
int m;
char str1[50];
char str2[50];
char copychar (str1,str2)
{
int i,j;
char *p1=str1[50];
char *p2=str2[50];
for (i=0,j=0;i
1个回答 分类:综合 2014-10-14

问题解答:

我来补答
首先你没有按照题目的要求,自定义函数的参数要有三个,你m哪去了;还有就是整数第9 10 行错了,要改成这样 char *p1=str1; char *p2=str2;最后就是else这里,改这样else {copychar(str1,str2,m);printf("%s",str2);}花括号不能省,不然如果不满足条件的话你也同样要带入运算,就会出错,输出也错了
以下是我的程序:
#include
#include
int m;
char str1[50];
char str2[50];
char copychar (char *str1,char *str2,int m)
{
int i,j;
char *p1=str1;
char *p2=str2;
for (i=0,j=0;i
 
 
展开全文阅读
剩余:2000
上一页:第一个解释一下
下一页:例二,求解