c语言 输入一个字符串,将其所有数字字符删除,并输出改变后的字符串。

#include<stdio.h>
#include<string.h>
void main()
{
char str1[100],str2[100];
int i,k=0;
gets(str1);
for(i=0;str1[i]!='\0';i++)
if(str1[i]<'0'||str1[i]>'9')
str2[k++]=str1[i];
printf(str2);
}
这个程序哪里有毛病?????

看了你的程序大概逻辑是对的
但是你忘记了字符串最后是要以'\0'结尾的;
所以在循环之后在str2末尾加上'\0'就行了追问

大哥,能不能把改好的程序发给我

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-09
我特别想知道为啥是小于o大于
9……
相似回答