重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

身の回りには様々なソフトウエアがあって、C言語で作られているものが1番多いと聞きます。InternetExplorerはC言語で作られてるのかな。

さて、C言語には、if(a>0){・・・}とか、while(a>0){・・・}のようなコードがあります。これでIEを作るとなると、、、

{・・・}{{・・・}・・・{・・・}{・・・}{・・・{・・・}{・・・{・・・{{・・・}・・・}}}}{・・・{・・・}}}

みたいな感じでしょうか?括弧のネストとか、入れ子って言うんですかね。IEだと、これが100層200層1000層くらいあるのでしょうか?

ここまで括弧が多いと、必然的に右括弧と左括弧の数がズレて、エラーになっちゃうでしょう。しかも、階層構造が複雑で、混乱すると思います。経験積めば慣れるのでしょうか?コツとかあるのでしょうか?

私も5層くらいなら経験あると思いますが、この程度に私は限界を感じています。10層が必要になると、逃げ道を探すでしょう。

プログラマーって大変だね。

A 回答 (5件)

> 10層が必要になると、逃げ道を探すでしょう。



そんなあなたに Lisp の導きがあらんことを。
    • good
    • 0

処理を全部main関数に記述する縛りプレイでもしてるの?


int main()
{
  for(;;)
  {
    for(;;)
    {
      if()
      {
      }
    }
  }
}
こうなる前に
int main()
{
  for(;;)
  {
    Process();
  }
}
void Process()
{
  for(;;)
    {
      if()
      {
      }
    }
}
こうするとか
    • good
    • 0

あなたには不思議に思えるかもしれませんが, 常識があれば


{・・・}{{・・・}・・・{・・・}{・・・}{・・・{・・・}{・・・{・・・{{・・・}・・・}}}}{・・・{・・・}}}
なんて書くことはありえません.

「改行」って知ってる?
    • good
    • 0

> C言語で作られているものが1番多いと聞きます。



というのはどうなんでしょうね?

物量でいえば確か最も多いのはCOBOLだったと思います。
シェアだと、C++とかJavaのほうがまだ多いのではないでしょうか?

一般には人間が正常に理解できるネストの階層数は最大で3層程度といわれていますので、
それ以上深いコードはあまり良いコードではないと考えられることがほとんどだと思います。

残念ながら、世間には1関数が何万行にもおよび、ネストが10層を超えるようなひどいコードも
多数あります。

しかし、基本的には1関数20行程度に抑えネスト数は最大2、最悪3程度を目安に問題の細分化を
行うというのが通常の戦略です。
    • good
    • 0

>みたいな感じでしょうか?括弧のネストとか、入れ子って言うんですかね。

IEだと、これが100層200層1000層くらいあるのでしょうか?

そんなコードを思いつくのはきっと、あなただけ・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!