我在VS2005+XP的环境下试了,在运行时报一个s[1]未被初始化的错误。 可能在不同的编译器上的结果不一样,但有一点是肯定的,即使不同的编译器能正常地将这几句代码跑完,但结果肯定是不一样的,因为s[1]没有初值,不同的编译器可能设置的默认值不同。所以k的值也是不定的,所以我们要养成好习惯,在定义变量时一定要赋初值;比如这里就应该这样写: int k =3,s[2]={0}; //这句的意思就是给s各元素赋初值,大括号里只有1位,不够位的全部以0进行赋值。 s[0]=k; k=s[1]*10;