为什么我的程序在vs中可以运行,但在acm中却出现runtime error

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void del_char(char *s,char ch)
{
int i, j;
for (i=0,j=0; s[i]!='\0'; i++)
{
if (s[i] != ch)
{
s[j++] = s[i];
}
}
s[j] = '\0';
printf("%s\n",s);
}
int main()
{
char s[50], ch;
scanf("%c", &ch);
scanf("%s", s);
del_char(s,ch);
system("pause");
return 0;
}
题目是:
编制函数del_char。函数原型为 void del_char(char *,char),函数的功能是删除a指向的字符串中值为ch的字符,例如从字符串"AscADef"中删除'A'后,字符串为"scDef"。

输入描述

需要删除的字符ch
需要处理的字符串

输出描述
处理后的字符串

输入样例
A
AscADef

输出样例
scDef

第1个回答  2015-12-15
system("pause");

删掉
然后s[50]中的50会不会太小本回答被网友采纳
相似回答