首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

强烈要求解释,SWITCH 无视CASE,该怎么处理

2012-03-17 
强烈要求解释,SWITCH 无视CASE[codeC/C++][/code]void outchar ( CONSOLE *pcon,char ch ){BYTE *pvideo

强烈要求解释,SWITCH 无视CASE
[code=C/C++][/code]void outchar ( CONSOLE *pcon,char ch ) 
{
  BYTE *pvideo = (BYTE*)(VIDEO_MEM_BASE + pcon->curpos * 2);
  UINT32 org = pcon->org_addr,curpos = pcon->curpos;

  switch ( ch ) 
  {
  case 0x0A:
  pcon->curpos = 80 * ((curpos)/80 + 1);
  break;
  case '\b':
  break;
  deafault:
  pvideo[0] = ch;
  pvideo[1] = getrgb ();
  pcon->curpos ++;
  break;
  }
  setcurpos (pcon->curpos);
}
>> 我在GDB调试的时候,竟然发现,当CH = 0x0A的时候,竟然直接跳到最后,SWITCH都没有执行,
而当CH等于其他数据的时候,不管怎么写都是从第一个CASE执行后BREAK,但是写IF判断就没任何问题
求高人指点

[解决办法]
建议你把你的ch打印出来看看,肯定是你的条件不对,不用怀疑c语言的语法

热点排行