【发布时间】:2019-12-09 19:52:22
【问题描述】:
我只想通过切换字符串中每个索引的位置来反转字符串顺序。
#include <stdio.h>
#include <string.h>
void FirstReverse(char str[]) {
int a = strlen(str);
for(int i=0; i<strlen(str) ;i++){
str[i] = str[a-1];
a-=1;
}
}
int main(void) {
// keep this function call here
FirstReverse(gets(stdin));
return 0;
}
错误:“信号:分段错误(核心转储)”
【问题讨论】:
-
gets(stdin)真的??? 打开编译器警告并注意它们。 -
恐怕这是
gets的错误用法,而不是由您的算法引起的。首先,它并不意味着将stdin作为一个论点。我建议你阅读its documentation,尤其是“描述”和“错误”部分,如果有人教你使用它,请尝试其他学习材料。 -
除此之外我的代码是否正确?