int k=3,s[2];s[0]=k;k=s[1]*10;执行下面程序,则变量k的值是多少

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 14:14:55
int k=3,s[2];s[0]=k;k=s[1]*10;执行下面程序,则变量k的值是多少
xRn@֕T]JJE"T*9g 54`hO +~w0Jf7ws9swBTSRL)?I*)֜htX4L0ۺQP'0~V~L:M?|kXQsE 5$3]$MyٗܡJPd֜AcSZغ활=5k!6S .8邉7?"# kjbW8%/p4HϾ_灵EoL`8Կ3Ṗw{M+n@z((tS Bckwes0?bԿ7gPYNHW6ӈtՌ? cO ঌ.,~lj%: 8lH!e(b0u8_%TE;! &S߂23IҰOdr'a:j3C4A퇝ܟ3-Nb8L

int k=3,s[2];s[0]=k;k=s[1]*10;执行下面程序,则变量k的值是多少
int k=3,s[2];s[0]=k;k=s[1]*10;执行下面程序,则变量k的值是多少

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