我正在尝试制作一个简单的应用程序,该应用程序在按特定数字时会播放声音,但是由于某种奇怪的原因,无论我输入什么,它都会播放第一首歌曲。
#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语句。这将有助于简化您的代码。
注意:如果在打开所有警告的情况下进行编译,则编译器将为您突出显示所有这些警告。