请问这段代码在ubuntu下为什么会有输出

img

img

环境是vmware上ubuntu20.04(在18版本测试出来结果是一样的),执行完会输出text.txt的文本.
现在的发现是在ch=getc(fp)下面加一行printf("x");输出正常,再在main方法第一行下同样输出一行文本,输出又异常了

test里给node分配内存,并没有初始化,因此node->cc的值是不确定的,printf的结果也就是未知的了。
read里也只是读取了1个字符,要全部读取,需要用到循环

do
{
    ch = fgetc(fp);
    putch(ch);
} 
while (ch != EOF);

通过循环把文件里的内容读取并显示出来。