C fonction strlen

Résolu/Fermé
Laorra Messages postés 195 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 18 juillet 2011 - 1 avril 2008 à 15:45
Laorra Messages postés 195 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 18 juillet 2011 - 1 avril 2008 à 16:03
Bonjour,

Voilà un mini programme tout simple... que je ne parviens pas à faire marcher hum

mon printf tout à la fin me renvoi de fausse valeurs (du genre 655452).
Est ce que quelqu'un vois le problême??
Merci d'avance :)

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

void main(void)
{
char lib[30];
int nb;

puts("saisir");
gets(lib);
puts(lib);
printf ("%d",strlen(lib));
nb=(strlen(lib)-2);
printf("nombre de lettre -2 %d",&nb);

system("PAUSE");

}
A voir également:

2 réponses

pavarotti_39 Messages postés 364 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 3 mai 2008 62
1 avril 2008 à 15:55
Faites un printf de la chaine pour savoir si il y a le \0 à la fin.
0
bonjour

il ne faut mettre & avant nb

printf("nombre de lettre -2 %d", nb);

Salut
0
Laorra Messages postés 195 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 18 juillet 2011 107
1 avril 2008 à 16:03
merci beacoup à vous deux, cela venait en effet de '&'.
bonne journée!
0