我是一個新手程序員我使用malloc後,程序突然要求輸入
//allocating space for final output
//text_count is given by another function, let's just say i have a value for it
//out is my typedef struct
out *fin[text_count];
for(i=0; i<text_count; i++){
fin[i] = malloc(sizeof(out));
}
//this is a test
fin[1]->appearances = 1;
printf("%d",fin[1]->appearances);
// ..other code
我注意到,這是分配之後,程序突然輸出這樣的:
1_
下劃線閃爍,表明需要輸入。
這裏有什麼問題?這是分配嗎?或者下面的代碼?
好的,讓我澄清這一點,即時通訊使用代碼塊。所以當我得到一個閃爍的光標時,這意味着它需要一個輸入。當我得到這個輸出後,似乎發生了無限循環的輸入。
'下劃線閃爍,表示它需要一個input'不,不......我想你還年輕,並且很少(如果有的話)看到一個ASCII文本屏幕或更少使用一個積極的... – ppeterka 2013-03-13 12:21:27
是否認真「突然」,考慮到你實際調用'printf()'在你陳述的'malloc()'循環後短?我可以推測你的問題可能是'// ..其他代碼'中的無限循環,也許在那裏檢查。 (這個,假設你期望你的代碼完成並且程序結束*一點)。 – WhozCraig 2013-03-13 12:23:55
給出的代碼沒有問題。問題在別的地方 – 2013-03-13 12:27:31