2

私は何をすべきか

「a a」を入力して一度シフトすると、「b b」が返されると予想されますが、forループでAZ、az、または0-9以外のものをスキップしたいというエラーが表示されます

for ( ; i <= w; i++)

    if ((word[i] + rotx) >= 65 && (word[i] + rotx) <=90)
    {
        word[i] += (rotx);
    }
    else if ((word[i] + rotx) >= 97 && (word[i] + rotx) <=122)
    {
        word[i] += (rotx);
    }
    else if ((word[i] + rotx) >= 48 && (word[i] +rotx) <= 57)
    {
        word[i] += (rotx);
    }
    else if ((word[i] + rotx) > 90 && (word[i]+rotx) <97)
    {
        word[i] = 64 + (rotx - (90-word[i]));
    }
    else if ((word[i] + rotx) > 122)
    {
        word[i] = 96 + (rotx - (122-word[i]));
    }
    else if ((word[i] + rotx) > 57)
    {
        word[i] = 47 + (rotx - (57-word[i]));
    }

OUTPUT 文字列「a a」を入力 回転数を入力 1

-bash: 1: コマンドが見つかりません

4

4 に答える 4

4

else を使用することはできません。またはcontinue、else が必要な場合は、ステートメントを使用します。

于 2013-04-02T00:13:04.033 に答える
1

プログラムが次のステートメントにフォールスルーするようにしたい場合は、示すようelseに have an emptybody の別の部分を含めないでください。

于 2013-04-02T00:14:25.113 に答える
0

最後elseに何もしない場合は、そのcontinue中にキーワードを使用できます。{}どの条件に対しても、空のコード ブロックを定義するか、単に大文字小文字を省略して、何もしないように条件を定義できます。switchケースがステートメントで何もしないようにする場合は、空のブロックを定義するか、キーワード{}を使用できます。breakまたは、特定のケースを気にしないだけです。

あなたの質問の編集については、あなたのコードにどの rotx が含まれているのか、何を達成しようとしているのかわかりません。助けを求めるときにこれらを省略してはなりません。そうしないと、「私のコードが機能しません。助けてください」と言うようなものであり、おそらく、誰もあなたのタスクの要件を望んでいない/推測できないことを知っているでしょう. そのため、タスクを指定するときはもっと注意してください。コミュニティがあなたを助けるのを手伝うなら、コミュニティも喜んであなたを助けてくれることを忘れないでください。

于 2013-04-02T00:39:49.983 に答える
0

最後のelseステートメントは<57であることを意味していると思います。それとは別に、122を超えるステートメントと57未満のステートメントを呼び出して、else word[i] += (rotx);を持つことはできません。??

申し訳ありませんが、90 から 97 の間です。

または、switch ステートメントを使用すると、はるかに経済的になります。

于 2013-04-02T00:20:21.737 に答える