fun函数里缺少j++,在s[j]=s[i]后要增加j++
void fun(char *s)
{
int i, j;
for (i=0, j=0; s[i]!='\0'; i++)
if (s[i]>='0' && s[i]<='9')
s[j++] = s[i];
s[j] = "\0";
}
#include <stdio.h>
void fun(char *s)
{
int i, j;
for (i=0, j=0; s[i]!='\0'; i++)
if (s[i]>='0' && s[i]<='9')
s[j] = s[i];
//s[j] = "\0";
}
int main()
{
char item[80];
printf("\nEnter a string :");
gets(item);
printf("\n\nThe string is : %s\n", item);
fun(item);
printf("\n\nThe string of changing is : %s\n", item);
return 0;
}
调整代码如上,就能正常运行。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632