bonjour,

Est ce que quelqu'un pourrait me dire pourquoi ce bout de code marche... ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
#include <stdio.h>
 
int main()
{
	char c;
 
	sprintf(&c, "n°%d", 0);
 
	printf("%s\n", &c);
 
	return 0;
}
Voici le resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
pierre@pierre-pc:~/minitest/string$ ./sprintf 
n°0
comment sprintf arrive à écrire dans une zone de mémoire qui est dans la pile ? Comment alloue - t - elle la mémoire ? ferait-elle une malloc en interne ... ?

Merci d'avance pour votre aide.