coco1312 2015-12-20 06:45 采纳率: 0%
浏览 1456
已采纳

C语言求教该程序详细解释,为何结果为3呢?

#include "stdio.h"
main()
{
int k=0;char c='A';
do
{
switch(c++)
{
default:k=k*2;break;
case'A':k++;break;
case'B':k--;
case'C':k+=2;break;
case'D':k=k%2;continue;
}
k++;
}while(c<'F');
printf("k=%d\n",k);

}
/*
程序运行结果为:
k=3
*/
C语言求教该程序详细解释,为何结果为3呢?

  • 写回答

3条回答 默认 最新

  • SuzumiyaSAMA 2015-12-20 07:33
    关注

    switch的C++这个句子实际上并没有在switch中执行,而是在switch之后执行,建议你好好看看++和--的运算规则,这两个运算放在变量后面的话就会放在这个顺序点的最后进行运算,即放在离他最近的一个分号之前。因此尽管switch的条件是C++,但switch所使用的C变量的值仍然是‘A’。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?