我正在写一个将单词和句子翻译成莫尔斯电码的代码。它可以与单词配合使用,但是当我想组成一个句子时,它将在第一个单词之后自动关闭。
我尝试使用不同的延迟功能,将''更改为'0 \',但它们不起作用
int main() {
char Morse[999];
printf("Enter anything you want to be translated to morse\n");
scanf("%s", Morse);
for (int i = 0, length = strlen(Morse); i < length; i++)
switch (Morse[i]) {
case ' ':
Sleep(600);
break;
case 'a':
Beep(440, 150);
Beep(440, 300);
break;
我希望它在看到空间时有600毫秒的延迟
答案 0 :(得分:0)
您应该使用fgets而不是scanf来获取句子(带空格的字符串)
int main() {
char Morse[999];
printf("Enter anything you want to be translated to morse\n");
fgets(Morse, sizeof(Morse), stdin);
for (int i = 0, length = strlen(Morse); i < length; i++)
switch (Morse[i]) {
case ' ':
Sleep(600);
break;
case 'a':
Beep(440, 150);
Beep(440, 300);
break;
希望它对您有用。