私はもともと Java プログラマーで、現在は C、特に C のポインターに苦労しています。
私の考えは、ユーザーからコマンドラインで文字列を受け取り、文字ポインターにすることです。次に、その個々の要素にアクセスしたいと思います。アイデアは、要素の順序を逆にする関数を後で考案することです。(テキストでアナグラムを扱いたい。)
私のコードは
#include <stdio.h>
char *string;
int main(void)
{
printf("Enter a string: ");
scanf("%s\n",string);
putchar(*string);
int i;
for (i=0; i<3;i++)
{
string--;
}
putchar(*string);
}
(申し訳ありませんが、コード マーキングは機能しません)。私がやろうとしているのは、個々の要素にアクセスする最初のショットを持つことです。文字列が "Santillana" で、ポインターが最初 (scanf() の後) に設定されている場合、コンテンツ *string は S である必要があります。 scanf() の後、いくつかのステップ (string-- 繰り返し) をバックアップすると、*string を使用した文字のように何かが生成されるはずです。ただし、これらの putchar() は両方ともセグメンテーション違反を引き起こします。
私は何か根本的に間違ったことをしており、何か根本的なことが私から逃れています。私の欠点についてのアドバイス、特にこれらの特定の問題が明らかにされている本/リソースのヒントに永遠に感謝します. 分厚い C の本 2 冊とリファレンス マニュアルは、これまでのところ役に立たないことがわかっています。