のHello World
olleH dlroW
私はstrtokはとstrrev機能を一緒に使用しようとしましたが、私はできませんでした。 私は文字列を逆にすることはできますが、上記の例のように単語単位ではできません。
のHello World
olleH dlroW
私はstrtokはとstrrev機能を一緒に使用しようとしましたが、私はできませんでした。 私は文字列を逆にすることはできますが、上記の例のように単語単位ではできません。
まず、最初から(マークをつけて)始める。空白または文字列の末尾にヒットしたら、位置をマークして次のようにします。
逆参照(現在の位置から最後のマークまで)、ポインタの逆参照時に無効なメモリ位置にヒットしないようにしますそこにあなたのすべての文字を印刷します。手順1に進み、中断したところで新しい開始マークを設定します。
文字列を完全に読み取るまで、前の手順を続けます。
ポインタを使わないでこれをしないでください? – boykins
使用しているプログラミング言語によって異なります。 C#を使用している場合、
私はcでタグ付けしました。 – boykins
私はあなたが既に尋ねるだけでなく、strtok
を設定するのに慣れていると仮定しています。基本的にはstrtok
を設定し、NULLを返していない間に戻すポインタをstrrev
に渡す必要があります。次に、strtok
の終了NULLをスペースで置き換えます。
ありがとうございます。私は答えを見つけたと思う、このコードが働いた。
int main()
{
char string[100];
char*word;
printf("your sentence: \n");
gets(string);
word=strtok(string," ");
while(word!=NULL){
strrev(word);
printf("%s ",word);
word=strtok(NULL," ");
}
getch();
return 0;
}
私はstrtokとstrrevを使用しようとしました。でもできなかった。 @Michael Petrotta – boykins
あなたが試したこと、コード、そして遭遇した問題について説明してください。より詳細な詳細。 –