操作系统:mac
编译器:vscode
情境:删除给定字符串中的数字字符
程序:见下方⬇️
提问:
1.为何会出现trace trap?
2.如何在仍使用strcpy()的情况下,进行修正?
附加要求(能做到最好):希望回答语言可以偏平实,我是刚学完指针,开始学字符串的大一新生,谢谢您
#include<stdio.h>
#include<string.h>
char *delnum(char *s);
void main()
{
char string[10];
printf("input string:\n");
gets(string);
puts(delnum(string));
}
char *delnum(char *s)
{
int i;
char *temp=s;
for(i=0;s[i]!='\0';)
{
if(s[i]>='0' && s[i]<='9')
{
strcpy(s,s+1);
}
else s++;
}
return temp;
}
vscode上运行结果:
手机编译器mobile C上运行结果: