Celui-ci est probablement très simple, mais je n'arrive pas à le faire fonctionner.C: Défaut de segmentation lors de l'utilisation de printf
Je cet extrait très simple de code:
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf[100];
char *p = buf;
strcpy(p, "Test string");
printf("%s\n", *p);
}
Ce qui provoque une erreur de segmentation quand je le lance. Sorties GDB:
Program received signal SIGSEGV, Segmentation fault.
0xb76af3b3 in strlen() from /lib/i686/cmov/libc.so.6
Mais je ne comprends toujours pas.
Des commentaires seraient appréciés, merci.
Vous pourriez avoir regardé l'avertissement GCC pour avoir une idée du problème: test.c: Dans la fonction 'main': test.c: 12: avertissement: le format '% s' attend le type 'char *', mais l'argument 2 a le type 'int' –
Assez drôle je n'ai pas reçu ce message d'avertissement, si je l'ai fait j'aurais probablement pu sauver tout le monde y compris moi :) – Hamza
Vous pouvez vous assurer d'utiliser l'indicateur de compilation '-Wall' pour être sûr de ne pas manquer les avertissements. – VeeArr