![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
#include <stdio.h>
#include <string.h>
#define MAX_WARD 256
void main(void)
{
//===変数宣言===
char aDataIn[MAX_WARD]; //反転前文字列入力先
char aDataOut[MAX_WARD]; //反転後文字列格納先
char *pDataIn, *pDataOut; //反転前・後配列操作用ポインタ
int nStrlength; //入力文字数
int nLoopCntWord; //反転処理ループ用
printf("何か文字を入力してください(255文字以内)>");
scanf("%s", &aDataIn);
nStrlength = (int)strlen(aDataIn);
printf("\マークn文字数は「%d」文字です。\n", nStrlength);
//===文字列の反転処理===
pDataIn = ■■■■■■; //aDataIn の最終文字位置
pDataOut = ■■■■■■; //aDataOutの先頭
for( nLoopCntWord = 0; nLoopCntWord < ■■■■; nLoopCntWord ++)
{
■■■■■■ = *pDataIn;
pDataIn ■■;
pDataOut ■■;
}
■■■■■■ = ■■;
printf("*** 反転処理完了 ***\n");
printf("入力した文字列:%s\n", aDataIn);
printf("反転した文字列:%s\n", aDataOut);
rewind(stdin);
getchar();
}
黒い部分の答えを教えてください
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>pDataIn = aDataIn;
>pDataOut = pDataIn;
もしかして上ので、aDataInからaDataOutへそのままコピーしたつもりになってますか?
No.4
- 回答日時:
本題とは関係ないけど
scanf("%s", &aDataIn);
を見ると「大丈夫だろうか」と心配になってしまう. ここは &aDataIn なのにそのあとの
nStrlength = (int)strlen(aDataIn);
はなんで &aDataIn じゃなくて aDataIn なんだろう.
No.3
- 回答日時:
>反転もできないし、フフフフとでてきてしまいます・・・
いやだから、まずは反転せずにそのままコピーをするのを考えてみましょうと。
pDataIn = aDataIn;
pDataOut = pDataIn;
for( nLoopCntWord = 0; nLoopCntWord < nStrlength; nLoopCntWord ++)
↑はあってますか?
No.2
- 回答日時:
>考えてもわからないのでここに聞きに来ました
ではまず反転させずに、
入力した文字列をaDataInからaDataOutにコピーする方法を考えてみてください。
それができた上で、文字列を反転するということはどういう事か考えた方がよいかと思います。
pDataIn = aDataIn;pDataOut = pDataIn;
for( nLoopCntWord = 0; nLoopCntWord < nStrlength; nLoopCntWord ++)
{
aDataOut[MAX_WARD] = *pDataIn;
pDataIn --;
pDataOut ++;
}
*pDataOut = '\0';
反転もできないし、フフフフとでてきてしまいます・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# 【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法 4 2023/05/09 15:08
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、単語ごとに改行したい
-
反転した数値を表示させるやり方
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
strstrを利用しない文字列検索...
-
toupper関数とstrcmp関数を使っ...
-
C言語の課題です
-
ブランクのチェック
-
文字列中に含まれる文字の個数...
-
C++
-
str[j++]の意味
-
itoaわかりません
-
C言語 空白の行(改行のみ)が...
-
putsとputcharの違い?
-
エディットボックスに入力され...
-
C言語 strlen 再入力を促す
-
fgets関数を使用したときの文字...
-
16進数の文字列
-
単語検索プログラム
-
単語数のカウントについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
charと%c , %s の関係について
-
fgets関数を使用したときの文字...
-
反転した数値を表示させるやり方
-
fgetsで拾われる改行文字を削除...
-
C言語 空白の行(改行のみ)が...
-
itoaわかりません
-
Cで「大文字、小文字の判定」は...
-
文字列中に含まれる文字の個数...
-
C言語で16進数文字列から16進数...
-
小文字のみを数える方法
-
strstrを利用しない文字列検索...
-
C言語のステップ数をカウントす...
-
C言語でパスワード作成ツール
-
単語数のカウントについて
-
str[j++]の意味
-
fgetsでバッファ残留文字列を無...
-
教えていただけませんか?C言語...
-
エディットボックスに入力され...
おすすめ情報