だから、私は文字列を逆にする簡単なプログラムを作ろうとしています。Cに関しては、特に記憶を理解する上で、私は耳の後ろで非常に濡れています。これが私のコードです:
#include <stdio.h>
#include <string.h>
void reverser(char to_bb[]){
int counter = strlen(to_bb); /* size of entry */
char reversed[counter]; /* creating blank array of same size */
int counter2 = 0;
for(counter - 1; counter >= 0; counter--){ /* loop to swap chars */
reversed[counter2] = to_bb[counter];
counter2++;
}
printf("The reversed: %s\n", reversed);
}
int main(){
char to_be_reversed[20];
puts("Enter the string to be reversed: ");
scanf("%19s", to_be_reversed);
reverser(to_be_reversed);
return 0;
}
問題は、バスエラーが発生し続けることです。私はそれが4ビットであることを使用sizeof(to_bb)
して学びました。これはto_bb[]
、void関数内の単なるポインターであることを示しています。文字列を操作できるように(つまり、その要素を呼び出すために)文字列を抽出する多くの方法を試しましたが、成功しませんでした。strcpy()
を使用して、より長い間宣言を試み*
ました。
アドバイスありがとうございます。記憶は理解するのが難しいことを証明しています!