我正在尝试使用循环来打印出一首重复的歌曲“this old man” 第一节是: 这位老人,他演奏了一个 他在我的拇指上玩小玩意儿 这位老人滚回家了
这首歌重复到十次,将两个词用斜体字改变 one -> two++ 和 thumb -> 另一件元素,如鞋子、膝盖等。 到目前为止,这是我的代码:
#include <cs50.h>
#include <stdio.h>
#include <string.h>
string change1 (int i);
int main (void)
{
for (int i = 1; ; 1 < 11; i++)
{
printf ("This old man, he played ");
change1(i);
printf("He played knick-knack on my %s\n\n", s1);
}
return 0;
}
string change1(int i)
{
string s1;
switch(i)
{
case 1:
{
printf("one\n");
s1 = "thumb";
}
break;
case 2:
{
printf("two\n");
s1 = "shoe";
}
break;
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
printf("ill add these cases later");
}
}
这给我一条错误消息:“控制到达非空函数的末尾”
我也遇到了一个未声明的变量 s1 错误,但我在函数中声明了它。
最佳答案
您可以将您的程序简化为实际的 C 程序,而不是 C++
int main (void)
{
int i;
char* items[] = {"thumb", "shoe", "", "", "", "", "", "", "", ""};
char* numbers[] = {"one", "two", "three","four","five","six","seven","eight","nine","ten"};
for (i = 0; i < 10; i++)
{
printf ("This old man, he played %s\n", numbers[i]);
printf("He played knick-knack on my %s\n\n", items[i]);
}
return 0
}
关于c - 在 for 循环中重复使用 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20485435/