邪王私宠小萌妃txt:main(){int k=4;char c='x';switch (c){case 'a':k=3;case 'b':k=2;case 'c':k=1;}printf("%d",k);}结果

来源:百度文库 编辑:高校问答 时间:2024/04/29 04:05:28
main()
{int k=4;char c='x';
switch (c)
{case 'a':k=3;
case 'b':k=2;
case 'c':k=1;
}
printf("%d",k);
}答案是4,这样的话,switch语句中的变量K与其外部变量K不是同一个变量了?那么既然不是同一个变量又为什么可以只说明一个?是不是应该再在
switch内说明一个K才对呀?
感谢楼下的提示,我把switch(c)中的c与case 'c'中的c搞混了...还是基本概念不扎实呀,嘘!

这里 K 是同一变量,因为字符 C='x' 不等于 'a','b','c'任何一个,所以 3 ,2 ,1 对K 的赋值没有执行.K还是 4.