【发布时间】:2020-12-14 01:44:20
【问题描述】:
我想制作请求用户输入整数的程序。如果用户输入 0,则显示“Sunday”,如果用户输入 1,程序将显示“Monday”,以此类推,直到“Saturday”。如果用户输入的值超出了 0 到 6 的范围,程序将写入“Invalid Days”。但是当我输入一个整数时,天数数组没有出现。我该怎么办?
这是“code.cpp”
main(){
char days[7] = {"Sunday","Monday","Tuesdat","Wednesday","Thursday","Friday","Saturday"};
int i;
printf("Input Integer:");
scanf("%d",&i);
if(i < 0 || i >= 7) {
printf("invalid days\n");
return;
}
for (i ; i < 7;i++)
{
printf("Days: %d\n", days[i]);
}
}
当我在 dev C++ 上运行它时,它显示错误,
4 91 F:\IPB\PENUGASAN\MATKUL\MATERI - Copy\APLIKOM\C++\UAS\UAS 2.cpp [错误] 'char [7]' 的初始化程序太多
13 7 F:\IPB\PENUGASAN\MATKUL\MATERI - Copy\APLIKOM\C++\UAS\UAS 2.cpp [Error] return-statement without value, in function return 'int' [-fpermissive]
【问题讨论】:
-
你为什么用
.cpp命名一个带有C程序的文件?你是用 C++ 编译器编译的吗? -
%d用于零终止字符数组文字?确定?? -
不要使用
i <= 7,而是使用i < 7,因为你只有6个(从0天算起)。 -
'Sunday'is not 你认为是什么。 -
有很多错误,你可以从编译器提示“'char [7]' 的初始化程序太多”的地方开始,你分配了 7 个字符并使用 7 个字符串进行初始化