-1

我正在尝试制作一个简单的应用程序,在按下特定数字时播放声音,但无论我输入什么,它都会出于某种奇怪的原因播放第一首歌。

#include <stdio.h>
#include <Windows.h>
#include "MMsystem.h"

void main(void){

    printf("\t\t\t\t\t\tCh00se A M3m3\n\n");
    printf("\t\t\t\t\t\t1.Quick Maths\n");
    printf("\t\t\t\t\t\t2.Crippling Deprresion");

    int MemeNumber;
    scanf_s("%d", &MemeNumber);
    if (MemeNumber = "1")
    {
        PlaySound(TEXT("BigShaq.wav"), NULL, SND_SYNC);
    }

    if (MemeNumber = '2')
    {
        PlaySound(TEXT("CripplinD.wav"), NULL, SND_SYNC);
    }

    getch();
}
4

1 回答 1

2

if (MemeNumber = "1")

  1. MemeNumber 是一个int并且"1"是一个char*/string
  2. =是分配,而不是比较。

if (MemeNumber = '2')

  1. MemNumber 是一个int并且'2'是一个字符。
  2. =是分配而不是比较。

尝试if (MemeNumber == 1)if (MemeNumber == 2)。另外:看看 switch 语句。这将有助于简化您的代码。

注意:如果您在打开所有警告的情况下进行编译,编译器会为您突出显示所有这些。

于 2017-11-08T03:34:50.633 回答