Ich habe bereits diesen Code in C Sprache, ist eine Zeichenfolge von 15 Daten durch Kommas getrennt der Code teilt die Zeichenfolge durch Komma und speichert alle Daten in einer einzigen Variablen namens Array [], das Problem ist Ich habe das letzte Datenkomma, wenn nach dem letzten Komma keine Daten vorhanden sind, dann die Variable x15 = 0, aber wenn es einen Wert nach dem letzten gibt, wandle diesen Wert in einen int um. Ich drucke den Wert des Arrays [15], um zu verifizieren, und das ist Null, so dass ich eine Bedingung dafür, aber nicht arbeiten, das Programm nur nach dem Kompilieren brechen.null in C-Sprache vergleichen
char buf[] ="¶bL0 L3,01,+08590323,-079343001,010215,00000000000000,-tN,000,012689997,001219456,000,7FF2,C07F,0,4,";
printf("\n \n string=[%s]\n\n", buf);
int i = 0;
int u;
char *p = strtok (buf, ",");
char *array[16];
char *y15;
while (p != NULL)
{
array[i++] = p;
p = strtok (NULL, ",");
}
for (i = 0; i <16; ++i){
if(array[15] == NULL){
wbt.x15=0;
}else{
wbt.x15=atoi(array[15]);
}
//printf("data: [%s]\n", array[i]);
}
Können Sie Ihre Frage neu zu schreiben? Absätze existieren aus einem Grund. – nbro
Warum nicht einen vernünftigen Haltepunkt setzen, e. G. am Anfang der 'for'-Schleife, zusammen mit einer Überwachung von' array', und dann durch die Programmausführung gehen? Sie können sehen, wie sich die Werte des Arrays ändern und wann. – Jireugi
Das Programm ist nach dem Kompilieren kaputt gegangen ... Was haben Sie gemacht, nachdem Sie das Programm kompiliert haben? Programme brechen nicht einfach nach dem Kompilieren, sie brechen in deinem Gehirn oder wenn du sie schreibst. Aber wenn Sie ein Programm kompiliert haben, bricht es nicht spontan. –