Mon programme est le suivant:Pourquoi l'utilisation du mauvais spécificateur de format en C plante-t-elle mon programme sous Windows 7?
#include <stdio.h>
#include <string.h>
int main()
{
char string[] = "Gentlemen start your engines!";
printf("That string is %s characters long.\r\n", strlen(string));
return 0;
}
Je compile sous gcc, et bien qu'il ne me donne pas d'erreur le programme se bloque à chaque fois que je le lance. Le code semble être bon à partir d'exemples que j'ai vus. Ce serait génial de savoir si je fais quelque chose de mal.
Merci.
Merci à tous. J'aurais dû le voir, je viens juste de commencer avec C et j'ai joué avec des programmes de texte en utilisant des chaînes de caractères uniquement jusqu'à maintenant, donc% s vient automatiquement à l'esprit. – austinprete
+1 parce que j'ai appris que j'aurais dû utiliser% zu tout au long de la journée plutôt que simplement% u ou même% d –
Si vous utilisez GCC, augmentez vos erreurs avec "-Wall" ou peut-être "-Wextra" ou peut-être '-Werror'. GCC est capable de vérifier la chaîne de format et d'avertir des arguments incorrects pour les fonctions 'printf'-,' scanf'-, 'strftime'- et' strfmon'. –