重要なお知らせ

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

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

この度、red hat linux 8.0を入れてみたのですが、その環境での C言語の挙動がおかしいのですが、いままでと何か変わったのでしょうか?

例えば、

----------------------
#include <stdio.h>

int main()
{

printf("AAAA");
return 0;
}
----------------------

このような簡単なものを、コンパイルして実行してみると何と驚いたことに、"AAAA" が画面上に出力されません。なぜ??

A 回答 (3件)

シェルは何を使っていますか?


プロンプトはどう設定していますか?

シェルによって、あるいはプロンプトの設定によって、プロンプトが必ず行頭に表示される設定になっている場合は、改行なしのAAAAが上書きされて消えてしまうことになります。

プロンプトを%の1文字にしてみるか、AAAAに\nをつけて試してください。

この回答への補足

シェルはbashです。
プロンプトはデフォルトのままで、自分では特に設定はしていません。

補足日時:2003/07/01 11:19
    • good
    • 0
この回答へのお礼

ありがとうございます。
家に帰ったら試してみます。

お礼日時:2003/07/01 11:17

外しましたか…



> 画面への出力系当たりがredhat8.0 になって変わってしまっ
> たのでしょうか?

さーて? 手元の環境(kterm, console)では再現しません
つーか,再現したら大変.

端末ソフトは何をお使いですか?

この回答への補足

ご回答ありがとうございます。
端末ソフトはgnomeのノーマルな端末です。
ktermも試してみたのですが。。。
シェルの問題なのでしょうか?

補足日時:2003/07/01 11:17
    • good
    • 0
この回答へのお礼

いろいろとありがとうございました。
試してみたところおそらく、プロンプトが必ず行頭に来ることが問題らしいです。なので、少ない出力は、プロンプトの下敷きになったようです。

お礼日時:2003/07/01 18:52

ひょっとして,実行バイナリは test という名前で



$ test <enter>

とかやってませんか?
それなら何も表示されなくて,当たり前です.

$ which test
$ man test

とかで調べてみましょう.

この回答への補足

いえ、実行バイナリはいろいろ変えてやってみたのですが。。。実行バイナリ名は
a.out、e、etc...
としてみました。

ちなみに
$a.out > dddd
などとリダイレクトしてみるとそのファイルには出力結果が書き込まれています。
画面への出力系当たりがredhat8.0 になって変わってしまったのでしょうか?

補足日時:2003/07/01 10:29
    • good
    • 0

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