#include<stdio.h>
int main()
{
int i,j=0;
char s[30],a[30];
scanf("%s",&s);
for(i=0;s[i]!='\0';i++)
if(s[i]<'a'||s[i]>'z')
{
a[j++]=s[i];;
}a[j]='\0';
printf("%s",a);
return 0;
}
不是到空格就停止删除了
是scanf只读取空格前面的字符串
你可以验证一下:
#include<stdio.h>
int main()
{
int i,j=0;
char s[30],a[30];
scanf("%s",&s);
puts(s); //输出s看看
for(i=0;s[i]!='\0';i++)
if(s[i]<'a' || s[i]>'z')
{
a[j++]=s[i];
}
a[j]='\0';
printf("%s",a);
return 0;
}
有输出的例子吗?