我今天遇到一個奇怪的問題。我們簡單瞭解一下這個簡單的代碼片段:C99命令行不打印任何東西在這個C編程案例
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;
}
當我編譯這個程序,有沒有發生錯誤,但是當我運行編譯的文件,它不會打印出任何東西到條命令行(我在Windows機器上使用PuTTy)。當我刪除線LINE A
和LINE B
時,就會變得奇怪,然後可以打印LINE C。
簡而言之,無論打印出來(或執行?),LINE A都行不通。
我不知道我的代碼是否有問題。
你的第二個'LINE A'是否意味着'LINE B'? – Andrew
哎呀對不起,有人爲我編輯 – antiopengl