我在StackOverflow上看到了很多关于这方面的问题,但是阅读答案并没有为我澄清,可能是因为我对C编程完全是新手。这是代码:
#include <stdio.h>
char* squeeze(char s[], char c);
main()
{
printf("%s", squeeze("hello", 'o'));
}
char* squeeze(char s[], char c)
{
int i, j;
for(i = j = 0; s[i] != '\0'; i++)
if(s[i] != c)
s[j++] = s[i];
s[j] = '\0';
return s;
}
当我编译它并运行时,会出现分段错误。我已经阅读了关于返回数组的这篇faq,并尝试了其中建议的“静态”技术,但仍无法使程序正常工作。请问有谁能指出问题所在并告诉我将来应该注意什么?
main()
函数的返回类型在哪里? - Prasoon Saurav