У меня сегодня странная проблема с Си. Взгляните на этот упрощенный фрагмент кода:
typedef struct
{
/* The number of index terms */
int nTerms;
/* Information about each index term */
TERMINFO *terms;
} INDEX;
INDEX *buildIndex(char *termsfile, char *dirs[], int n, OPTIONS opts)
{
INDEX *ind = NULL;
ind->nTerms = 5;
return ind;
}
int main(int argc, char *argv[]) {
... // declare and assign values for TERMFILE, DIRS and opts.
INDEX *ind = buildIndex(TERMFILE, DIRS, sizeof(DIRS), opts); // LINE A
printf("Does NOT print %d\n",ind->nTerms); // LINE B
printf("Does NOT print as well"); // LINE C
return 0;
}
Когда я компилирую эту программу, ошибок не возникает, однако, когда я запускаю скомпилированный файл, он ничего не печатает в командной строке (я использую PuTTy на машине с Windows). Становится даже странно, когда я удаляю строки LINE A
и LINE B
, тогда можно напечатать LINE C.
Короче говоря, все, что идет после LINE A, не может быть распечатано (или выполнено?).
Я не знаю, есть ли проблемы с моим кодом.