c - 我不明白为什么会出现分段错误错误
问题描述
char* reverse(char s[]){
int i, j;
char t;
for(i = 0, j = strlen(s) - 1; i < j; i++, j--){
t = s[i];
s[i] = s[j];
s[j] = t;
}
return s;
}
int myPrefix (char s1 [], char s2 []) {
int i;
int comp = 0;
for(i = 0; s1[i] != '\0' && s2[i] != '\0'; i++){
if(s1[i] != s2[i])
return comp;
else
comp++;
}
return comp;
}
int mySuffix (char s1 [], char s2 []) {
return myPrefix(reverse(s1), reverse(s2));
}
我正在解决我的 Uni 提供的一些代码板挑战,但我坚持这一点。我应该创建一个函数来比较 2 个字符串并返回共同的最大后缀。
当我在代码板中编译和运行时,出现分段错误错误,但是代码在 Clion 中运行良好。
为什么会这样?
编辑:你们中的一些人评论说我没有提供调用该函数的代码。那是因为我无权访问它。
编辑2:我让它工作了。正如你们中的一些人所说,我可能不允许修改字符串。谢谢您的帮助。
int mySuffix (char s1 [], char s2 []){
int i = strlen(s1) - 1;
int j = strlen(s2) - 1;
int count = 0;
for(; s1[i] == s2[j]; i--, j--){
count++;
}
return count;
}
解决方案
推荐阅读
- c++ - 将子类对象传递给 std::function 参数
- java - 如何从右不左递增字符串
- java - Java中的大矩阵
- javascript - 导航按钮 HTML 和 java 脚本
- mysql - delphi 10.1 fdconnection libmysql.dll
- excel - 只复制单元格的值,而不是粘贴
- ruby-on-rails - Rails 升级 3.2 到 4.0:模型弃用警告
- apache - CakePHP 3 如何正确设置子域的 .htaccess
- java - 如果使用不同的方法连接,为什么 Mongo 不会抛出异常?
- java - 如何实现android教程滑块