
2个回答
展开全部
这个程序实现的原理是:
循环将非数字字符移动到字符串的开头,然后最后一个非数字字符后面添加一个结束符号0(这样输出的时候字符串只会输出到0的位置,后面的数字就不打印了。)
1、scanf("%s",&str);肯定是错的,str是数组名,表示数组首地址,应该直接写scanf("%s",str);或者写scanf("%s",&str[0]);
2、16行就是我上面说的添加结束符号,要是删除的话,那么打印输出的时候会连同后面数字字符一起输出,就起不到删除数字的做用。
循环将非数字字符移动到字符串的开头,然后最后一个非数字字符后面添加一个结束符号0(这样输出的时候字符串只会输出到0的位置,后面的数字就不打印了。)
1、scanf("%s",&str);肯定是错的,str是数组名,表示数组首地址,应该直接写scanf("%s",str);或者写scanf("%s",&str[0]);
2、16行就是我上面说的添加结束符号,要是删除的话,那么打印输出的时候会连同后面数字字符一起输出,就起不到删除数字的做用。
追问
介绍
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询