package javafirst; public class HomeWork { public static void main(String[] args){ System.out.println("输出一个菱形!"); for(int i = 0; i < 5; i ++){ for(int j = 5; j > i + 1; j--){ System.out.print(" "); } for(int k = 0; k < 2*i + 1…
C-C++到底支不支持VLA以及两种语言中const的区别 到底支不支持VLA VLA就是variable-length array,也就是变长数组. 最近写程序的时候无意间发现,gcc中竟然支持下面这种写法: int n = 10; int a[n]; 注意上面的语句是在函数内部写的,也就是n和a都是自动变量. 当时十分疑惑,C语言中数组的长度不应该是常量或常量表达式吗?为什么变量也可以.我将代码在VC中跑了一下,发现编译出错,提示数组的大小未知,说明VC中是不支持VLA的. 那既然有的编译器…
今天,我遇到了一个 Go FAQ.首先,作为一个小小的 Go 语言测验,看看您是否在 Go playground 中运行该程序之前就能推断出它应该打印出的内容(我已经将程序放在侧边栏中,以防它在 Go playground 上消失).该程序的关键代码是: type fake struct { io.Writer } func fred (logger io.Writer) { if logger != nil { logger.Write([]byte("...")) } } func…