web-dev-qa-db-fra.com

printf une variable en C

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

int main()
{
    int x = 1;

    printf("please make a selection with your keyboard\n");
    sleep(1);
    printf("1.\n");

    char input;
    scanf ("%c", &input);
    switch (input) {
        case '1':
            x=x+1;
            printf(x);
    }

    return(0);
}

J'essaie de créer une variable pour s'ajouter à elle-même, puis d'imprimer cette variable mais je n'arrive pas à faire en sorte que mon code fonctionne.

mon erreur de sortie est 

newcode1.c: In function ‘main’:
newcode1.c:20:2: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast [enabled by default]
In file included from newcode1.c:1:0:
/usr/include/stdio.h:362:12: note: expected ‘const char * __restrict__’ but argument is of type ‘int’
newcode1.c:20:2: warning: format not a string literal and no format arguments [-Wformat-security]
5
Dave

Votre printf a besoin d'une chaîne de format:

printf("%d\n", x);

Cette page de référence explique comment utiliser printf et les fonctions associées.

19
Shafik Yaghmour

Comme Shafik l'a déjà écrit, vous devez utiliser le bon format car scanf vous procure un caractère . N'hésitez pas à regarder ici si vous n'êtes pas sûr de l'utilisation: http://www.cplusplus.com/ référence/cstdio/printf/

Astuce: il est plus rapide/plus agréable d'écrire x=x+1; le plus court chemin: x++;

Désolé de répondre à ce qui a été répondu, je voulais juste lui donner le lien - le site m’était vraiment utile tout le temps avec C.

2
Ms. Nobody