C语言保留字母 问题
输入一行字符串,删掉非英文字母后的字符串。如:
输入:a56.+asd18+asd
输出:aasdasd
# include <stdio.h>
# include <string>
main ()
{
char st1,st2;
int i,s=0;
scanf("%s",&st1);
for(i=0;i<strlen(st1);i++)
{
if((st1 >= 'A' && st1 <= 'Z') || (st1>='a')&&(st1<='z'))
{
st2=st1;
s++;
}
}
printf("%s\n",st2);
}
问题:我发现,当有+-.% 这些字符输入时,答案就会不正确,就只有字母和数字混合时,答案会正确。不知道哪里错了,求指点。 # include <stdio.h>
# include <string.h>
int main ()
{
char st1,st2;
int i,s=0;
scanf("%s",st1);//不要取地址符。
for(i=0;i<strlen(st1);i++)
{
if((st1 >= 'A' && st1 <= 'Z') || (st1>='a'&&st1<='z'))
{
st2=st1;
s++;
}
}
st2='\0';//字符串结束
printf("%s\n",st2);
return 0;
} 不知道为什么,<string>我的编译器报误,你是不是漏打了.h。 小墨hacker 发表于 2015-11-7 13:50
不知道为什么,我的编译器报误,你是不是漏打了.h。
恩恩,是打漏了 .h 。。看着很强大
页:
[1]