#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *a = "Hello ";
const char *b = "World";
printf("%s", strcat(a, b));
system("PAUSE");
return EXIT_SUCCESS;
}
1
A
Répondre
7
Parce que vous écrivez des données à un emplacement de mémoire que vous ne possédez pas.
En effet, lors de l'exécution de strcat, vous ajoutez les caractères de la chaîne b juste après les caractères de la chaîne a. Mais vous n'avez pas réclamé pour la mémoire après la chaîne a.
2
Lorsque vous concaténez b à vous écrivez en mémoire que vous ne l'avez pas allouez,
Questions connexes
- 1. Pourquoi ce code provoque-t-il une erreur de segmentation?
- 2. Pourquoi ai-je une erreur isEqualToString dans ce code Cocoa?
- 3. Pourquoi ai-je une erreur de segmentation avec ce code?
- 4. Pourquoi ai-je une erreur de segmentation avec ce code?
- 5. Pourquoi ce code provoque-t-il une erreur?
- 6. Pourquoi ce code donne-t-il une erreur?
- 7. Pourquoi ce code C# génère-t-il une erreur?
- 8. Pourquoi ce code lancer une ActionView :: TemplateError
- 9. Pourquoi ai-je cette erreur dans ce code Python?
- 10. Pourquoi ce code produit-il "erreur de syntaxe, inattendu" = ""?
- 11. Pourquoi ce code C buggé?
- 12. Pourquoi ce code lance System.ExecutionEngineException
- 13. Pourquoi ce code produit-il une fuite de mémoire?
- 14. Compréhension de liste: pourquoi est-ce une erreur de syntaxe?
- 15. Pourquoi ce VBScript me fait-il une erreur?
- 16. Pourquoi ce constructeur C# produit-il une erreur d'accessibilité incohérente?
- 17. OCaml: Pourquoi ce code produit-il une erreur de vérification de type?
- 18. Pourquoi drawAtPoint d'UIImage renvoie-t-il une erreur dans ce code?
- 19. Pourquoi ce code utilisant `:: boost :: bind` obtient-il une erreur de compilation?
- 20. Pourquoi ce code montre-t-il une erreur dans le validateur W3C?
- 21. Pourquoi ce code instanceof fonctionne-t-il et ne provoque pas une erreur de compilation?
- 22. Pourquoi ce code SQL donne-t-il une erreur 1066 (Non unique table/alias: 'client')?
- 23. Pourquoi ce pointeur vers le code de fonction C++ génère-t-il une erreur de compilation?
- 24. S'il vous plaît me dire pourquoi ce code est de lancer une erreur
- 25. Pourquoi est-ce que je reçois une "erreur T_STRING inattendue"
- 26. Pourquoi ai-je une erreur de segmentation dans ce programme?
- 27. Pourquoi ce callback setTimeout me fait-il une erreur?
- 28. Pourquoi ai-je une erreur d'exécution strcpy dans mon code?
- 29. Pourquoi mon code rencontre une erreur d'exécution NZEC?
- 30. Pourquoi ce programme provoque-t-il une erreur de segmentation?
Les littéraux de chaîne ne sont pas modifiables. http://stackoverflow.com/questions/1614723/why-is-this-c-code-causing-a-segmentation-fault/1614739#1614739 – AnT