改行について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
JT

改行について

#1

投稿記事 by JT » 16年前

こんにちは^^C言語の改行ですが 例>printf("HELLO!!\n\n\n\n") と何行か改行するプログラムを書くのですがこれ以外にループ文を使用せず10行改行する方法はないでしょうか?

御津凪

Re:改行について

#2

投稿記事 by 御津凪 » 16年前

単に10行固定で改行するなら、
printf("\n\n\n\n\n\n\n\n\n\n");
で済みます。

あとは、
void printf_return( int num ){
    char buf[128];
    if(num < 128){ // 127個の改行まで対応
        memset(buf,'\n',num); // num 個の改行文字で埋める
        buf[num] = '\0'; // 終端文字を追加
        printf(buf); // 出力
    }
}
こうでしょうかね。

JT

Re:改行について

#3

投稿記事 by JT » 16年前

ありがとうございます^^ 10\nのような処理が欲しいです、、、何か\nを10回入出力させるのは抵抗がありました>< 

御津凪

Re:改行について

#4

投稿記事 by 御津凪 » 16年前

printf の書式を独自に拡張すれば、
"%$10\n"
とかで改行文字が10回出力されるようにする、という実装は可能かもしれませんが、
単に10回 '\n' を書いたほうが遥かに簡単ですし、コードも短く済みます。

確かにコードに直接書くのは抵抗があるかもしれませんが、
この場合は割り切って直接書いたほうがいいと思います。

苦労してまでその書式の独自拡張を実装する必要があるのかどうか、
という点を考えるべきですね。

# 効率化を図るための実装が見合うものでなかったら逆効果(あるいは無意味)ですし、
# 非効率に見える処理が実は効率的である、ということもあります。

JT

Re:改行について

#5

投稿記事 by JT » 16年前

そうですよね><初心者だからこそ綺麗なプログラムをかきたくて

Dixq (管理人)

Re:改行について

#6

投稿記事 by Dixq (管理人) » 16年前

これじゃ駄目ですか?
#include <stdio.h> 

#define ln10 "\n\n\n\n\n\n\n\n\n\n"

int main(void){
	printf( ln10 );
	return 0;
}
 

JT

Re:改行について

#7

投稿記事 by JT » 16年前

ありがとうございます^^ 参考にします

JT

Re:改行について

#8

投稿記事 by JT » 16年前

ありがとうございました。普通に¥nを10回書きます

JT

Re:改行について

#9

投稿記事 by JT » 16年前

解決を押し忘れてました><

閉鎖

“C言語何でも質問掲示板” へ戻る