web-dev-qa-db-fra.com

C printf ne fonctionne pas sur le terminal ubuntu 13.10

Je suis nouveau à Ubuntu, alors s'il te plaît, supporte-moi.

J'ai besoin de créer un programme basé sur C pour un cours dans mon université. J'utilisais openSUSE en tant que système d'exploitation et konsole en tant qu'émulateur de terminal lorsque j'étais dans le laboratoire de l'université.

Je dois donc installer openSUSE sur mon système ou utiliser un VM pour le faire. Mais je me sens paresseux pour le faire, alors j’ai essayé de l’exécuter sur Ubuntu au lieu d’openSUSE.

Cependant, aucun code C ne semble fonctionner sur le terminal d'Ubuntu. La compilation est un succès, mais elle ne fonctionne pas, ou du moins la printf ne fonctionne pas.

Ceci est mon code, un très très simple:

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

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

Quand je le compile avec gcc test.c -o test tout fonctionne bien et je reçois un fichier exécutable.

Ensuite, j'essaie de l'exécuter avec ./test, mais la printf n'est pas imprimée. Aucune erreur ou avertissement n'a été affiché.

Est-ce que je manque quelque chose?

Remarque: mon gcc est le nouveau, il ne devrait pas y avoir de problème.

2
Blaze Tama

Voici le résultat de votre programme: enter image description here

Le texte de printf ("test"); est imprimé et vous pouvez le voir avant la ligne shubham@shubham-pc:~$

Comme il n'y a pas de \n dans votre programme, une nouvelle ligne n'est pas imprimée à la fin et la ligne par défaut de la console est ensuite imprimée.

Pour résoudre ceci, votre programme devrait ressembler à ceci:

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

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

Ce que j'ai fait ici, c'est que j'ai utilisé une chaîne de formatage (%s) pour imprimer test et ai ajouté une nouvelle ligne (\n) après celle-ci.

Voici le résultat après les modifications:

enter image description here

3
cshubhamrao