gcc的问题

gcc的问题

用VI写了一个C程序:
main()
{
printf("good!");
}
用GCC运行后,产生了一个test文件,但运行后并没有什么反应,也没有提示任何错误。到底是什么回事啊?
我用的命令是gcc -o test test.c
或者用cc test.c产生a.out文件,然后再
./a.out也没有用。同样没打印出good!
也没有提示错误。      
我也有这个问题,好像对printf根本不相应一样      
那我想在LINUX下练习C语言。要怎么办啊?
有其它的办法吗?      
gcc -o test test.c
./test
应该就行的。      
我还有chmod u+x啊,而且也事./test了
比如我scanf("%d",&a);
      printf("%d",a);
在运行了./test后,出现光标我随便输入一个数,显示出来了,在打回车,程序好像就介绍了,根本没有printf      
换print或echo呢?      
学的是古董c,
好像介绍的很少关于echo和prinf
是和printf一样的吗?      
printf比print功能强大,有控制输出格式的功能,这方面我也是外行 到shell版去问问吧      
输出结果应该是这样的:

[root@linux root]$ cat test.c
main()
{printf("good!");
}

[root@linux root]$ ./test
good![root@linux root]$      
放shell编程