Salut les copains!
Je suis en train de lire pas mal de tutoriels sur le C++ et j'essaie de créer de petites applications simples pour vérifier que j'ai bien tout compris.
Apparemment j'ai pas tout compris... ^^
J'ai voulu écrire un programme qui demande à l'utilisateur d'écrire quelque chose, qui lise ce que l'utilisateur a écrit, et puis qui dise "vous avez écrit XXX".
Voici mon code en l'état actuel:
La compilation ne renvoie pas d'erreur, mais l'avertissement suivant, que je ne sais pas encore interpréter:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <iostream> // c'était là quand j'ai créé le projet, j'ai pas touché #include<stdio.h> using namespace std; // c'était là quand j'ai créé le projet, j'ai pas touché int main() // c'était là quand j'ai créé le projet, j'ai pas touché { char a[100]; // je définis une chaîne de 100 caractères sans l'initialiser printf("Ecrivez quelque chose s'il-vous-plait...\n"); // consigne à l'utilisateur scanf("%[100]s", a); // lecture de la réponse de l'utilisateur printf("Vous avec ecrit : %a[100]"); // répéter la réponse de l'utilisateur }
Warning: unknown conversion type character 'a' in format
À l'exécution, le programme produit le résultat suivant:
Ecrivez quelque chose s'il-vous-plait...
a (ça c'est ce que j'ai écrit)
Vous avec ecrit : -0x1.9bf0b0p+808[100]
Process returned 0 <0x0> execution time : 2.794 s
Press any key to continue.
Voilà. D'après mes connaissances actuelles, j'aurais tendance à dire que le "a" que j'ai écrit a été mal interprété (disons interprété "dans une autre langue"), ou qu'il n'a pas été renvoyé comme je m'y attendais. Le contenu renvoyé a un peu l'air d'une adresse, ou d'un truc du genre...
Merci de m'expliquer ce qui n'allait pas.