可能性の重複:
How to reverse a string in place in c using pointers?文字列を正しく逆にするには?
私はセグメンテーションフォールトが発生したC. を使用して文字列を逆にしようとしていました。どんな考え?あなただけのポインタを作った、STR2のための任意の領域を割り当てられていなかったよう
#include <stdio.h>
#include <string.h>
int main(void)
{
char *str1 = "abbd";
char *str2;
str2 = str2 + strlen(str1)-1;
while(*str1 != '\0')
*(str2--) = *(str1++);
printf("%s", str2);
return 0;
}
セグメンテーションフォルトを把握しても、文字列は変更されません。なぜあなたは理解できますか? – kindall
誰もがあなたに指摘しているバグを修正しても、その文字列は変更不可能なため、文字列を変更することは不可能です。文字列リテラルは変更できません。 –