C语言问题:先从键盘输入一个字符串存放在字符数组a中,再将a元素的所有小写字母存放到字符数组b中
#include<stdio.h>#include<string.h>voidmain(){chara[100]="",b[100]="";inti=0;gets(a);...
#include<stdio.h>
#include<string.h>
void main()
{ char a[100]="",b[100]="";
int i=0;
gets(a);
while(a[i]!='\0')
{ if(a[i]>='a'&&a[i]<='z')
strcpy(b,a);
i++
}
puts(b);
}
我这个有什么毛病呢?
帮我做一下 谢谢。。。 展开
#include<string.h>
void main()
{ char a[100]="",b[100]="";
int i=0;
gets(a);
while(a[i]!='\0')
{ if(a[i]>='a'&&a[i]<='z')
strcpy(b,a);
i++
}
puts(b);
}
我这个有什么毛病呢?
帮我做一下 谢谢。。。 展开
3个回答
展开全部
strcpy(b,a);
这一句是将以a打头,以'\0'结尾的字符串拷贝到b中,当然得不到正确结果
这么改:
#include<stdio.h>
#include<string.h>
void main()
{ char a[100]="",b[100]="";
int i=0,j=0; ///////增加变量j,用以对于b的下标进行计数
gets(a);
while(a[i]!='\0')
{ if(a[i]>='a'&&a[i]<='z')
b[j++]=a[i]; ///////进行成员拷贝
i++;///////加上;
}
puts(b);
}
这一句是将以a打头,以'\0'结尾的字符串拷贝到b中,当然得不到正确结果
这么改:
#include<stdio.h>
#include<string.h>
void main()
{ char a[100]="",b[100]="";
int i=0,j=0; ///////增加变量j,用以对于b的下标进行计数
gets(a);
while(a[i]!='\0')
{ if(a[i]>='a'&&a[i]<='z')
b[j++]=a[i]; ///////进行成员拷贝
i++;///////加上;
}
puts(b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++;你少了一个分号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询