3个回答
展开全部
C语言程序代码已经完成:
#include<stdio.h>
char *substrcpy(char *str,int m)
{char *p;
for(p=str;*p&&--m;p++);
if(m)return NULL;
else return p;
}
int main()
{ char s[]="Good afternoon!";
puts(substrcpy(s,5));
return 0;
}
#include<stdio.h>
char *substrcpy(char *str,int m)
{char *p;
for(p=str;*p&&--m;p++);
if(m)return NULL;
else return p;
}
int main()
{ char s[]="Good afternoon!";
puts(substrcpy(s,5));
return 0;
}
更多追问追答
追问
不是要求字符长度吗?
*p&&--m麻烦解释下这个什么意思
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
允许用标准库吗,可以的话就很简单啊,用strlen
#include<stdio.h>
char *substrcpy(char *str, int m)
{
if (m > strlen(str)) return NULL;
else return str + m;
}
#include<stdio.h>
char *substrcpy(char *str, int m)
{
if (m > strlen(str)) return NULL;
else return str + m;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
char *substrcpy(char *str,int m) { int n;
n=0; while ( str[n] ) n++;
if ( n>m ) return str+m; else return NULL;
}
void main() { char s[256],*p; int m;
scanf("%s%d",s,&m); p=substrcpy(s,m); if ( p ) printf("%s\n",p);
}
char *substrcpy(char *str,int m) { int n;
n=0; while ( str[n] ) n++;
if ( n>m ) return str+m; else return NULL;
}
void main() { char s[256],*p; int m;
scanf("%s%d",s,&m); p=substrcpy(s,m); if ( p ) printf("%s\n",p);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询