なぜ私の逆関数は文字列をHelloに戻さないのですか?私は私の機能を2回目に呼んでいますか?逆関数配列文字列
私の機能を使用して、文字列を複数回逆転させることができますか?
#include <stdio.h> #include <stdlib.h> #include <string.h> void reverse(char arr[], int numberOfChars); int main() { char myString[] = "Hello!"; int length = strlen(myString); for (int i = 0; i < length; i++) { printf("%c", myString[i]); } printf("\n"); reverse(myString, length); reverse(myString, length); getchar(); return 0; } void reverse(char arr[], int numberOfChars) { for (int i = numberOfChars - 1; i >= 0; i--) { printf("%c", arr[i]); } getchar(); }
Q
逆関数配列文字列
-2
A
答えて
5
あなたはreverse()
内部arr[]
を変更することはありませんので、あなたはちょうどあなたが繰り返すために、それを印刷。意味をなさないreverse()
でも
void reverse(char *s, size_t length)
{
for(size_t i = 0; i < length/2; ++i)
{
const size_t tail = length - (i + 1);
const char tmp = s[tail];
s[tail] = s[i];
s[i] = tmp;
}
}
なし奇妙なgetchar()
呼び出し、:
それは次のようになります。
0
もう一度同じ文字列を使用しています。あなたの関数は無効です。実際には文字列自体は何もしません。逆順で文字を印刷するだけです。あなたが望むものについては、あなたが変数でやっていることを保存してからそれを返す必要があり、関数を使って別々に印刷する必要があります。
0
リバース関数の引数(myString)は、main関数から呼び出したときに2回同じです。あなたは、サブモジュールで逆の代わりに逆のフォーマットで文字を印刷しているだけです。
1
あなたが言葉「こんにちは!」と逆にしたい場合は、文字列として定義し、機能reverse(p1, p2)
のパラメータは他にreverse(first_position, last_position)
でなければなりませんreverse(myString.begin(), myString.end())
またはreverse(&myString[0], myString.length())
を使用する方が便利です。文字列を実際にcharとして定義したい場合は、それらを反復の中に入れてから、それを一つずつ逆にする必要があります。 reverse
機能について
詳細はあなただけの逆の順序で印刷されている、あなたは文字列を逆にされていないhttp://www.cplusplus.com/reference/algorithm/reverse/
関連する問題
- 1. 逆文字列と逆文字列
- 2. JSON文字列を文字列配列に逆シリアル化する
- 3. 配列文字列の関数エラー
- 4. 文字配列を関数に渡す
- 5. 文字列/配列(Python)に複数の関数値を格納
- 6. Python - LISTの文字列を逆にする関数
- 7. IO文字列を逆転させるHaskell関数
- 8. ruby配列を文字列に変換する(逆の場合)
- 9. 文字列の可変長引数と文字列配列
- 10. 文字列と文字列の配列**環境変数
- 11. は、文字列、文字列配列マップ
- 12. 印刷文字列の逆
- 13. 文字列の逆順
- 14. java文字列逆アルゴリズム
- 15. 文字列の逆スワップケース
- 16. Scalaの逆文字列
- 17. Tibco Spotfireの文字列逆
- 18. java逆順の文字列
- 19. C汎用印刷配列関数 - 文字列配列の印刷
- 20. 配列を文字列に変換する配列を変換する関数
- 21. Cの文字列/文字配列から空白を削除する関数
- 22. 文字列の配列をPowerShell関数に渡す
- 23. 配列を関数に渡して文字列をスキャンする
- 24. 配列文字列を関数ポインタに渡すか?
- 25. CSV配列関数の文字列のスペースを紛失
- 26. 文字列配列を使用したソート関数 - Cのエラー
- 27. 文字列の2次元配列を関数に渡そう
- 28. 変更する関数に文字列配列を渡す
- 29. 文字列&配列
- 30. 文字列配列
で見つけることができます – Nish