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

#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();
}

最佳答案

if (MemeNumber = "1")


MemeNumber是int"1"char*/string
=是分配,而不是比较。


if (MemeNumber = '2')


MemNumber是int'2'是字符。
=是分配而不是比较。


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

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

07-25 20:54