C printf не работает на терминале Ubuntu 13.10

Я новичок в Ubuntu, поэтому, пожалуйста, потерпите меня.

Мне нужно создать программу на языке C для курса в моем университете. Я использовал openSUSE в качестве ОС и konsole в качестве эмулятора терминала, когда я был в лаборатории университета.

Так что в основном мне нужно установить openSUSE в моей системе или использовать виртуальную машину для этого. Но мне лень это делать, поэтому я попытался запустить его на своем Ubuntu вместо openSUSE.

Однако на терминале 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
задан 4 November 2013 в 15:13

1 ответ

Вот вывод вашей программы: 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

0
ответ дан 4 November 2013 в 15:13

Другие вопросы по тегам:

Похожие вопросы: