struct list{
char *Name;
};
void chekFC(struct list *newList){
char *fC = newList->Name;
printf("%s\n", &fC); //I can print it
if(fC[0] == '+') //Any error??
printf("Yes");
}
int main(){
struct list *newList = (struct list *)malloc(sizeof(struct list));
newList->Name = "+abc";
chekFC(newList);
}
kann es laufen, wenn ich den Code ändernc char Zeiger vergleichen
zu folgendenvoid chekFC(struct list *newList){
char *fC = newList->Name;
printf("%s\n", &fC); //I can print it
if(fC[0] == '+') {} // Add {} nothing run in the if condition, than the program can run
printf("Yes");
}
Warum kann dieses Programm nicht ausgeführt? Der Fehler ist Segmentierungsfehler (Core Dumped)
Sie haben wahrscheinlich nie 'newList-> Name' initialisiert ... – Mysticial
Es ist unmöglich zu sagen, was genau an diesem Codefragment falsch ist. Bitte posten Sie das kleinste vollständige Programm, das das Problem aufweist. – Spire
Zeigen Sie den vollständigen Code, speziell das Bit, das 'newList-> Name' zuweist –