La conversion de code ASCII d'un caractère

J'ai juste commencé à apprendre à programmer en C et je suis en train de faire un programme qui accepte un nombre et l'utilise comme une valeur ASCII à retourner le caractère ASCII associé à cette valeur.

Le programme fonctionne lorsque les paramètres sont prédéfinis mais quand je introduire la fonction scanf, il compile mais ne me donne pas les mêmes résultats.

Voici mon code :

#include <stdio.h>

int main(void) 
{
    question2();
    return 0; 
}

int question2(void)
{


    int myInt = 65;

    scanf("%d", myInt);
    char ch = myInt;

    printf("%c",ch);

    return 0;
}

Acclamations et merci pour tout les gars d'aide.

  • S'il vous plaît tourner sur votre compilateur que des mises en garde, et de les lire attentivement.
  • Aussi, mettez les informations de débogage. Sur Linux, vous devez compiler avec gcc -std=c99 -Wall -g yourcode.c -o yourprog et l'utilisation gdb ./yourprog pour le déboguer.
  • Je ne vois pas un avertissement lors de l'utilisation de Dev-C++ qui utilise TDM-GCC 4.6.1 64 bits si je m'attendais à. Intéressant.
  • C'est vraiment étrange. GCC (4.5 et plus) affiche un message d'avertissement pour le scanf, même si vous n'avez pas activer les mises en garde explicitement. Vous obtiendrez un avertissement pour la déclaration implicite de la question2 avec le Mur
  • Eh bien, j'ai juste essayé scanf avec une variable qui n'est pas un pointeur (qui bien sûr ne pas jeter d'avertissement), et j'ai raté le point de la déclaration implicite dans l'OP. BTW n'est pas "la déclaration implicite de" même ne parvient pas à compiler??
InformationsquelleAutor alexeidebono | 2012-10-18