Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
在11个月前关闭。
/通过参数监视,我看到
/感谢您的回答。
我已经弄清楚了我以前的困惑。
实际上,这是在考试中询问输出的问题。我在考试中错了,因为我认为输出为1,但正确答案为123。
也许是造成指令不清楚的原因。/
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
在11个月前关闭。
/通过参数监视,我看到
k
的结果是4,但是最终结果是程序完成后的123。这是为什么?//感谢您的回答。
我已经弄清楚了我以前的困惑。
实际上,这是在考试中询问输出的问题。我在考试中错了,因为我认为输出为1,但正确答案为123。
也许是造成指令不清楚的原因。/
#include <stdio.h>
int main()
{
int k;
scanf("%d", &k);
switch (k)
{
case 1: printf("%d", k++);
case 2: printf("%d", k++);
case 3: printf("%d", k++);
break;
default: printf("Full!");
}
return 0;
}
最佳答案
您的代码中没有最终结果:在k
之后不使用switch
,因此其在调试器中的值没有意义。
您可以修改代码以打印k
的最终值,并看到1
,2
和3
转换为4
,所有其他值保持不变。
#include <stdio.h>
int main() {
int k;
scanf("%d", &k);
switch (k) {
case 1: printf("%d\n", k++);
case 2: printf("%d\n", k++);
case 3: printf("%d\n", k++);
break;
default: printf("Full!\n");
break;
}
printf("%d\n", k);
return 0;
}