下列程序的运行结果是 。 #include stdioh int main char a=A; for;aD; switcha+1 case Aa++ ;break; case B++a ;break; case C a=a+1; defaulta=a+2; printf cna; return 0; 为什么最后输出结果不是F
程序的运行结果是E。在switch语句中,当a='A'时,执行a++,a变为'B',然后跳出switch语句。接着循环继续,a='B',执行++a,a变为'C',跳出switch语句。再次循环,a='C',执行a=a+1,a变为'D',由于没有break语句,继续执行default语句,执行a=a+2,a变为'F'。但是循环条件为a<'D',因此循环结束时a的值为'E'。注意程序中最后一个分号应该是中文分号,应改为英文分号才能正确编译。
原文地址: https://www.cveoy.top/t/topic/bt1q 著作权归作者所有。请勿转载和采集!