C printf não está funcionando no terminal 13.10 do Ubuntu

2

Sou novo no Ubuntu, por favor, tenha paciência comigo.

Eu preciso criar um programa baseado em C para um curso na minha universidade. Eu estava usando o openSUSE como SO e konsole como o emulador de terminal quando eu estava no laboratório da universidade.

Então, basicamente, eu preciso instalar o openSUSE no meu sistema ou usar uma VM para fazer isso. Mas eu me sinto preguiçoso em fazer isso, então eu tentei executá-lo no meu Ubuntu ao invés do openSUSE.

No entanto, nenhum código C parece funcionar no terminal do Ubuntu. A compilação é bem-sucedida, mas não está em execução ou, pelo menos, o printf não está em execução.

Este é o meu código, muito simples:

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

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

Quando eu compilo com gcc test.c -o test , tudo funciona bem e eu recebo um arquivo executável.

Então, tento executá-lo por ./test , mas o printf não é impresso. Nenhum erro ou aviso foi mostrado.

Estou sentindo falta de algo?

Nota: meu gcc é o novo, não deve ter nenhum problema.

    
por Blaze Tama 04.11.2013 / 11:01

1 resposta

3

Aqui está a saída do seu programa:

O texto de printf ("test"); é impresso e você pode vê-lo antes da linha shubham@shubham-pc:~$

Como não há \n em seu programa, uma nova linha não é impressa no final e, portanto, a linha padrão do console é impressa depois dela

Para resolver isso, seu programa deve se parecer com:

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

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

A coisa que fiz aqui foi que usei uma string de formato ( %s ) para imprimir test e adicionei uma nova linha ( \n ) depois.

Aqui está a saída após as edições:

    
por cshubhamrao 04.11.2013 / 11:37