如果我编写以下程序,则运行代码时没有发出哔声。
#include <stdio.h>
int main()
{
printf("\a");
return 0;
}
您能告诉我如何使用\a
使用C程序产生哔声吗?
答案 0 :(得分:3)
您的程序唯一错误(一半错误)是main
签名。
为了100%可移植,它应该是int main(void)
或int main(int argc, char **argv)
或同等的:int main()
不等同。
我也会打印一个'\n'
,或者刷新输出缓冲区,而不是依赖于运行时自动刷新所有缓冲区,但你的程序应该按原样响铃。如果不是问题在其他地方,而不是C
。
#include <stdio.h>
int main(void)
{
printf("\a\n");
return 0;
}
答案 1 :(得分:1)
我同意@Steve Jessop。人们会竭尽全力让他们的电脑保持安静。
在Windows中:作为“\ a”的替代,您可以使用WinAPI的Beep命令。如果您使用的是Windows 7,则可能无法正常工作。
答案 2 :(得分:0)
如果您使用的是Windows,则Windows版本会发出哔哔声。其中一些可以实现并且正常工作,但有些Windows版本没有。在某些窗口中,如果你有一个内部主板扬声器,它只适用于这种情况。但是其他一些窗户,它没有内部主板扬声器,直接从声卡(这将是很好的!)工作正常。
如果您很幸运,并使用适当的Windows版本,蜂鸣/ Beep / printf(“\ a”)将起作用(在内置扬声器(如果有),或通过声卡的最佳情况)。但是,如果您使用其他Windows版本,它将无法正常工作。如果你的计算机没问题,你的朋友/家人的电脑会保持沉默,他/她会认为你写了一个糟糕的节目:-但不是。
我的建议是,您应该使用库来获取音频。它简单,跨平台,并且它将始终在所有计算机等工作。例如,Allegro_v4,Allegro_v5,SDL(简单DirectMedia层)或类似的东西。这些图书馆可以与OpenGL / DirectX一起使用,通过这些图书馆,您可以加载图像,播放视频等等。原生OpenGL / GLUT / DirectX无法做到这一点。
答案 3 :(得分:0)
我通常使用另一种方式来获得它在Windows 7上100%工作的哔声。
int x=7; //7 is beep sound other numbers may show emoji and characters
printf("%c",x);
答案 4 :(得分:0)
请列出您的操作系统,如何运行代码以及计算机是否有蜂鸣器。
如果您使用Windows,则此问题解答How to make a Beep sound in C on Windows?可能会对您有所帮助。
如果使用GUI桌面Linux发行版,则诸如gnome-terminal或xfce4-terminal之类的终端仿真器都需要检查首选项选项。然后,确保您的扬声器正常工作。
以下代码对我来说效果很好:
/* name: bell.c
* run: gcc bell.c && ./a.out
*/
#include <stdio.h>
int main(void) {
printf("\a");
return 0;
}
顺便说一句,您的代码不是问题。
答案 5 :(得分:-2)
#include<stdio.h>
#include<windows.h>
int main()
{
Beep(1000, 1000); /* you can use any number starting from 250, but make sure you use it both times
return 0;
}