大一C语言程序求纠正!字符串“abcdefghij”包含10个有效字符,写一个函数,将此字符串中从第m个字符开始的

#include<stdio.h>main(){chara[10]="abcdefghij";charconvert(intm,intn);intm,n;scanf("%... #include<stdio.h>
main()
{
char a[10]="abcdefghij";
char convert(int m,int n);
int m,n;
scanf("%d,%d",m,n);
convert(m,n);
puts(a);
system("pause");
}
char convert(m,n)
{ char a[10]="abcdefghij";
int i,j=0;
for(i=n;i<m+n;i++)
a[j++]=a[i];
a[j]='\0';
}
展开
 我来答
ST683617
2012-06-02
知道答主
回答量:12
采纳率:0%
帮助的人:12.1万
展开全部
修改后
#include<stdio.h>
void main()
{
char a[11]="abcdefghij";//\0占一位 所以数组为11
void convert(int m,char x[]);
int m;
printf("输入m的值\n");
scanf("%d",&m);
puts(a);//数组a
printf("\n");
convert(m,a); //不返回值得函数空函数
}
void convert(int m,char x[])
{
int i,j=m-1;
int k=j;//把j存起来
for(i=0;i<10-k;i++,j++)//只循环m-1次即可
{
x[i]=x[j];
printf("%c",x[i]);
}
printf("\n");//这个函数没有改变原数组a,只是选择输出的方式变了
}
xoalyg
2012-06-02 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2356万
展开全部
/*
6,4
fghi
请按任意键继续. . .
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 从s中第m个字符开始的n个字符复制到t中,成功返回t,失败返回NULL
char *convert(char *s,char *t, int m, int n) {
int i,len = strlen(s);
if(( m < 1)||(m >= len)) return NULL;
for(i = m - 1;(i < m + n - 1) && (i < len); i++)
t[i - m + 1] = s[i];
t[i - m + 1] = '\0';
return t;
}

int main() {
char *s = "abcdefghij",t[11];
int m,n;
scanf("%d,%d",&m,&n);
if(convert(s,t,m,n) != NULL) puts(t);
// system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卧冬的杂货铺
2012-06-03 · TA获得超过242个赞
知道小有建树答主
回答量:451
采纳率:0%
帮助的人:68.4万
展开全部
a[10]="abcdefgij"没错

#include <stdio.h>
main()
{
char a[10]="abcdefghij";
int i,m=3,n=5;
for(i=m;i<=m+n;i++)
printf("%c",a[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式