VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 564|回复: 2

谁能帮我看看这段代码错在哪里,急急急!

[复制链接]

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-19 22:00:01 | 显示全部楼层 |阅读模式
当i>=2的时候的这段代码是好的,但是当i>=3的时候就不工作了,无法播放WAV文件,数组没有越界,急求高人解答
if(i>=2)
{
  for(int j=i-1 ; j<=i ; j++)
  {
    for(int m=0 ; m<28; m++)
    {
      if(store[j-1]==two[m][0] && store[j]==two[m][1])
      {
        for(int k=j ; k<j+2 ; k++)
       {
         PlaySound((LPCTSTR)m_WaveId[store[k-1]], AfxGetInstanceHandle(), SND_RESOURCE | SND_NOSTOP);
       }
       return;
      }
    }
  }
}
上面是好的代码,可以播放WAV文件
下面是有问题的代码,编译通过,没有任何问题,程序可以运行,就是无法播放WAV文件
if(i>=3)
{
  for(int j=i-2 ; j<=i ; j++)
  {
    for(int m=0 ; m<7; m++)
    {
      if(store[j-1]==three[m][0] && store[j]==three[m][1] && store[j+1]==three[m][2])
      {
        for(int k=j ; k<j+3 ; k++)
        {
          PlaySound((LPCTSTR)m_WaveId[store[k-1]], AfxGetInstanceHandle(), SND_RESOURCE | SND_NOSTOP);
        }
        return;
      }
    }
  }
}
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-7-2 19:15:01 | 显示全部楼层
问题是不是出在那个判断语句上啊?
if(store[j-1]==three[m][0] && store[j]==three[m][1] && store[j+1]==three[m][2])
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-7-3 15:15:01 | 显示全部楼层
问题已经解决了
之前定义的时候修改过一次,但是没有改完,后来忘记改了--b
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表