编程删除输入的字符串中的非数字字符,求c语言大神

如题所述

那个for语句的循环太复杂,没必要,而且如果不是数字字符根本不用动,字符串是以'\0'结尾的,如果写成s[j]='\0'则将后面的字符全部截断了,可以将空面的字符覆盖前面的字符。#include<stdio.h> #include<string.h> main() {char s[80]; int i,j,k; gets(s); for(i=0;s[i]!='\0';i++) {if(s[i]>'0'&&s[i]<'9') {for(k=i;s[k+1]!='\0';k++) s[k]=s[k+1]; i--; s[k]='\0'; } } s[k]='\0'; puts(s); getch(); }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-28
这个问题提得好啊追答

您能看懂吗?

a[i]>='0' && a[i]>='9'用来判断一个字符是不是数字

第2个回答  2015-05-28
根据ASCLL码进行判断删除
相似回答
大家正在搜