web-dev-qa-db-ja.com

C printfがubuntu 13.10端末で動作しない

私はubuntuが新しいので、我慢してください。

大学のコース用にCベースのプログラムを作成する必要があります。大学の研究室にいたとき、OSとしてopenSUSEを使用し、ターミナルエミュレータとしてkonsoleを使用していました。

したがって、基本的にはシステムにopenSUSEをインストールするか、VMを使用してインストールする必要があります。しかし、私はそれを行うのが面倒なので、openSUSEではなくUbuntuで実行しようとしました。

ただし、Ubuntuのターミナルで動作するCコードはないようです。コンパイルは成功しましたが、実行されていないか、少なくともprintfが実行されていません。

これは私のコードで、非常にシンプルなものです:

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>

int main()
{
    printf("test");
    return 0;
}

gcc test.c -o testでコンパイルすると、すべてが正常に動作し、実行可能ファイルが取得されます。

次に、./testで実行しようとしましたが、printfは出力されません。エラーまたは警告は表示されませんでした。

何か不足していますか?

注:私のgccは新しいものです。問題はないはずです。

2
Blaze Tama

プログラムの出力は次のとおりです。 enter image description here

printf ("test");のテキストが印刷され、shubham@shubham-pc:~$行の前に表示されます

プログラムには\nがないため、改行は最後に出力されず、コンソールのデフォルト行はその後に出力されます

これを解決するには、プログラムは次のようになります。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main()
{
    printf("%s \n","test");
    return 0;
}

ここで行ったことは、フォーマット文字列(%s)を使用してtestを印刷し、その後に改行(\n)を追加したことです。

編集後の出力は次のとおりです。

enter image description here

3
cshubhamrao