我是一个新手程序员我使用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