#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呢?
switch的C++這個句子實際上並沒有在switch中執行,而是在switch之後執行,建議你好好看看++和--的運算規則,這兩個運算放在變量後面的話就會放在這個順序點的最後進行運算,即放在離他最近的一個分號之前。因此盡管switch的條件是C++,但switch所使用的C變量的值仍然是‘A’。