如何用C语言将字符串中除字母的其他符号删除

急... 展开
 我来答
White_MouseYBZ
2015-10-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6714万
展开全部

建立一个for循环,从下标为0开始逐字检测字符串元素,对应的ASCII码在'a'(97)至'z'(122)之间的是小写字母,在'A'(65)至'Z'(90)之间的是大写字母,是字母的依次存入同一个数组,问题就解决了。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    char a[100]="jfk839hfkhd89jl9t5ugifogjshb1783fhdahpp[qhfud",i,j;
    for(j=i=0;a[i];i++)
        if(a[i]>='a' && a[i]<='z' || a[i]>='A' && a[i]<='Z')//判断是否为字母
        //if(a[i]>=97 && a[i]<=122 || a[i]>=65 && a[i]<=90)//这样写也可以
            a[j++]=a[i];
    a[j]='\0';
    printf("%s\n",a);//Look at...
    return 0;
}
相思丶猫2C
2010-03-27 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:960万
展开全部
#include "stdio.h"

void check(char str[])
{
int i=0,j=0;
char ch;
ch=str[i];
while(ch!='\0')
{
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
{
str[j]=ch;
j++;
}
i++;
ch=str[i];
}
str[j]='\0';
}
经本人亲自测试通过,希望can help you 。
(编译环境:Dev c++ 4.9.2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jakciefish
2010-03-27 · 超过10用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:0
展开全部
int i,j;
int len;
char temp;
for(i=0;i<len;i++)
{
if(!isalpha(s[i]))
{
for(j=i;j<len-1;j++)
{
s[j]=s[j+1];
}
--len;
}
else
continue;
}
len为字符串s[]的长度
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式