Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録
< 天皇って退位したら次... |anond:20181223183058 >

2018-12-23

anond:20181223182722

一気に並べてみる

オーソドックスな書きかた

int i;int space;for (int i = 0; i &lt; 8; i++){for (space = 0; space &lt; i; space++){printf(" ");}printf("Hello world\n");}

すまん &lt;は半角の<に置き換えてくれ(w)

バッファをつかってループを1つ削る

int i;int space;char buffer[8];char buffer2[8];memset(buffer, 0, 8);memset(buffer2, 0, 8);for (int i = 0; i &lt; 8; i++){memset(buffer, 0x20, i);printf("%sHello world\n",buffer);}

memsetも削ってみる

int i;int space;char buffer[8];char buffer2[8];memset(buffer, 0, 8);memset(buffer2, 0, 8);for (int i = 0; i &lt; 8; i++){buffer[i] = 0x20;printf("%sHello world\n",buffer);}

この場合特に影響はないが一般的にはmemsetを使う使わないは大きな影響になるので

memsetを削る場合は注意が必要

C++を使ってみる

std::string space;for (int i = 0; i &lt; 8; i++) {printf("%sHello world\n", space.c_str());space += " ";}

C++を使ってみるの別回答

std::string space_org;for (int i = 0; i &lt; 8; i++) {std::string space = space_org + " ";printf("%sHello world\n", space.c_str());space_org = space;}

考察

ざつにかんがえても 書き方いろいろ 

それぞれメリット デメリットが有る

まり まぁ どれがいいというよりは

状況に応じてかき分けていく必要がある

学校の授業などだと

アルゴリズムの話で

ヒープソート マージソート クイックソート比較みたいな話があるけど

そこまで難しい話にいかなくても

ハローワールドだけ見てかつ雑に考えてもこのぐらいは

書き方がたくさんある

どれを書くか?どれがいいか? 考えると面白い

Permalink |記事への反応(2) | 18:32

このエントリーをはてなブックマークに追加ツイートシェア

記事への反応 -
  • int i; int space; char buffer[8]; char buffer2[8]; memset(buffer, 0, 8); memset(buffer2, 0, 8); for (int i = 0; i &lt; 8; i++) { memset(buffer, 0x20, i); printf("%sHello world\n",buffer); }

    • 3つともおなじ int i;int space;for (int i = 0; i &lt; 8; i++){ for (space = 0; space &lt; i; space++) { printf(" "); } printf("Hello world\n");} すまん &lt;は半角の<に置き換えてくれ(w) int i; int space; char buffer[8]...

      • 技としてはナイスだけど応用は厳しいよね const char *message = " Hello world\n"; for (int i = 0; i &lt; 8; i++) { printf("%s", message + 8 - i); } サンプルとしては、使いにくい書き方

        • std::string space; for (int i = 0; i &lt; 8; i++) { printf("%sHello world\n", space.c_str()); space += " "; } &LT;は< 例外的に 効率は悪いけど こういうふうな書き方もできるC++

          • std::string space; for (int i = 0; i &lt; 8; i++) { printf("%sHello world\n", space.c_str()); space += " "; } std::string space_org; for (int i = 0; i &lt; 8; i++) { std::string space = space_org + " "; printf("%sHello world\n", space.c_str());...

            • 一気に並べてみる オーソドックスな書きかた int i;int space;for (int i = 0; i &lt; 8; i++){ for (space = 0; space &lt; i; space++) { printf(" "); } printf("Hello world\n");} すまん &lt;は半角の<に置き換えてくれ(...

              • マジレスしとくと、hello worldはもっと変態的な書き方ができたはずだぞ 特にC言語なら

              • 初心者用 class mystring{public: char *buffer; mystring() { buffer = (char*)""; } void operator = (const char*t) { int len = strlen(t); buffer = new char[len + 47]; strcpy(buffer, t); } void operator = (const mystring&amp;src) { int len = st...

                • この辺になってくると初心者の人は面倒かな? 解説をつければかなりわかりやすい 基本的な書き方 class mystring{public: char *buffer; mystring() { buffer = (char*)""; } void operator = (const char*t) { int len...

                  • もしかしてスペース増田さんだったの?

                    • ほいよ char format[50]; strcpy(format, "%0s%s"); for (int i = 0; i &lt; 8; i++) { printf(format,"","Hello world\n" ); format[1]++; } スペース増田なら こんなかんじか?

          • 最近はVisual Studioは勉強用なら無料 https://visualstudio.microsoft.com/ja/ Visual Studioだって今は無料 簡単なプログラム printf(&quot;Hello world&#92;n&quot;); よく知られているやつ 簡単なプログラム 今回...

            • こういうの見せられていつも思うんだけど、 これで具体的に何ができるのかわからない テトリスとか作れんの?

記事への反応(ブックマークコメント)

全てのコメントを見る

人気エントリ

注目エントリ

ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp