有关c语言的?
intk=0;charc='A';switch(c++){case'A':printf("%c",c++);case'B':printf("%c",++c);case'C...
int k=0;
char c='A';
switch( c++ )
{ case 'A':printf("%c ",c++);
case 'B':printf("%c ",++c);
case 'C':printf("%c ",c++);break;
case 'D':printf("%c ",++c); }
为什么输出的是B D D想不明白 展开
char c='A';
switch( c++ )
{ case 'A':printf("%c ",c++);
case 'B':printf("%c ",++c);
case 'C':printf("%c ",c++);break;
case 'D':printf("%c ",++c); }
为什么输出的是B D D想不明白 展开
2个回答
展开全部
switch( c++ )
{ case 'A':printf("%c ",c++); switch( c++ ) 是后加,c此时还是'A',所以会进入case 'A',与此同时,c变成'B',再遇到printf("%c ",c++) ,输出'B'后,c变成'C',因为没有break,继续向下
case 'B':printf("%c ",++c); ++c为先加,所以c变成'D'输出,继续向下
case 'C':printf("%c ",c++);break;c++为后加,所以继续输出'D',遇到break退出
case 'D':printf("%c ",++c); }
所以结果就会输出B D D
{ case 'A':printf("%c ",c++); switch( c++ ) 是后加,c此时还是'A',所以会进入case 'A',与此同时,c变成'B',再遇到printf("%c ",c++) ,输出'B'后,c变成'C',因为没有break,继续向下
case 'B':printf("%c ",++c); ++c为先加,所以c变成'D'输出,继续向下
case 'C':printf("%c ",c++);break;c++为后加,所以继续输出'D',遇到break退出
case 'D':printf("%c ",++c); }
所以结果就会输出B D D
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询