🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

Q&A

解決済

2回答

993閲覧

c while 改行

退会済みユーザー

退会済みユーザー

総合スコア0

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

0グッド

0クリップ

投稿2020/12/22 11:45

c言語でHELLO Cをwhileを用いて一文字づつ改行したいです
どのようにcodeを書けばよろしいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/12/22 12:39

ヒントは、文字列の末端はご存知の(はずの)様に、’¥0’(ヌル文字)であると言うことです。
dodox86

2020/12/22 12:43

まぁ、あくまでひとつの例ですが。(他にも考えられるので)
kurai

2021/09/14 09:28

「丸投げ」の質問に対しては、「丸答え」せずに、ヒントとなる事柄を書けば良いのではないか、と私は考えています。 本当に丸投げなのかどうかは、回答側としては分かりようがありませんので、「丸投げの疑いがある」事を、何らかの回答を書かない理由とするのは難しい、と私は考えています。
guest

回答2

0

ベストアンサー

C の文字列が「どういうものか」が分かっていれば、なんとなくプログラムの形が見えてくると思います。

厳密に言えば、C には文字列などというものはありません。
しかし C には「配列」があります。
配列は、要素をいくつか並べたものです。
要素は、整数だったり実数だったりポインタだったり、いろいろなものが要素になれるのですが、

「要素が char 型(これは整数型である)で」、かつ「要素のどこかに必ず 0 が入っている」配列

を、「文字列と『見なす』」ことにしています。

また、そのような配列の要素を先頭から見ていって、最初に見つかる「値 0 の要素」を、その文字列の終わりと「見なします」。

なお、「文字列」における値 0 の整数要素を、特に「ナル文字」とか「ヌル文字」などと呼び、これは 0 と書いても良いのですが、「いかにも文字っぽく」、'\0' と書くのが C の通例です。

つまり、C における "HELLO C" という文字列は、次のような配列なのです。

要素[0]='H'
要素[1]='E'
要素[2]='L'
要素[3]='L'
要素[4]='O'
要素[5]=' '
要素[6]='C'
要素[7]='\0'

値が 0 の要素は文字列の長さには含まれません。 つまり、この文字列は、

「配列の添え字は 0 から 7 まで、配列の要素数は 8、文字列の長さは 7」

ということになります。

while で文字列の末尾まで処理したい場合は、1文字ずつ進めていって、その文字が '\0' だったらループを抜ける、という条件を while に書けば良い、という事です。

投稿2020/12/27 22:42

kurai

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

'\n'を出力することで改行されます。
これでコードを書いてみてください。

投稿2020/12/22 12:12

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/12/22 12:22

回答ありがとうございます!!! それはわかっているのですが、whileの条件式をどのように書けばいいの変わらず、、、つまずいてしまっています
y_waiwai

2020/12/22 12:46

どのような条件で行うんでしょうか
退会済みユーザー

退会済みユーザー

2020/12/24 11:32

whileの中に何を書けばいいのかわからないのです。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問