質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

44085閲覧

while文のなかにif文

reotantan

総合スコア295

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

1クリップ

投稿2015/08/24 16:42

編集2015/08/25 02:16

その名の通りwhile文のなかにif文が入っているコードがあったのですが
なんだか違和感を感じました。while文の中にif文をいれることってけっこうありますか?
詳しいかた教えてください

'’’ #include<stdio.h>
int main(void){

int no;
printf("put integrate" ); scanf("%d",&no );

while (no>=0){ printf("%d",no); no--; if(no<0){ putchar("\n") } }

return 0;

}'’’

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

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

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

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

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

ozwk

2015/08/25 02:30 編集

' ~ ' ではなくて``` ~ ```でコードを挟んでください。「`」は日本語キーボードなら「Shift+@」です。プレビューでコードブロックが生成されるように、「```」の前後に適宜改行を入れてください。
guest

回答2

0

ベストアンサー

whileとifは役割が違うのでwhileの中にifが入ることはよくありますし、
それだけを見て問題であると判断されることはまず無いです。

今回のケースだとifの中身はwhile終了後に必ず実行される(実行したいように見える)ので

C

1#include<stdio.h> 2int main(void){ 3 4 int no; 5 printf("put integrate" ); scanf("%d",&no ); 6 7 while (no>=0){ 8 printf("%d",no); 9 no--; 10 } 11 12 putchar("\n") 13 14 return 0; 15 16}' 17コード

とした方が良いでしょうね。

ケースバイケースではありますが、whileの中で実行しなくても必ず実行される部分にifを挟んでいることに違和感を感じたのであれば、正しい違和感だと思います。

投稿2015/08/24 16:53

tanat

総合スコア18713

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

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

reotantan

2015/08/25 02:19

ありがとうございました、理解がとても進みました。
guest

0

while文というのは、**「条件がtrueなら{}の中の事をやんなさいよ」**といっているだけなので、中身は何でもよいのですよ。

例文とは違いますが、例えば生徒の名簿データを1行ずつ処理していくプログラムを書くとします。
(擬似コードです)

while(ファイル末尾ではない){ if(seibetsu=="男"){ //処理 }else{ //男以外 //処理 } count++; //次の行へ }

のように、例えば男女で違う処理を書いたりできますね。
while文の中でif文を使う事はよくあることですし、それ自体がプログラムの書き方として間違っているという事はまったくないので、心配せずにガンガンつかっちゃって下さい。

投稿2015/08/24 17:36

Jake

総合スコア289

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

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

reotantan

2015/08/25 02:18

ありがとうございました、とても分かりやすい説明で助かりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問