逆文字列関数を作成したいのですが、次のように実行しました。
void reverse_str(char s[]) {
int i, j;
char ch;
for(i = 0, j = strlen(s) - 1; i < j; i++, j--) {
ch = s[i];
s[i] = s[j];
s[j] = ch;
}
return ;
}
しかし、何らかの理由でに変更i < j
するi != j
と、セグメンテーション違反が発生します。これは、i
とj
がポインタである場合にも発生します。なんで?