您好,请问下面这个C语言函数为什么要先将iDay赋初值为0呢?

#include<stdio.h>

int main()
{
int iDay=0; /*定义变量表示输入的星期*/
/*定义变量代表一周中的每一天*/
int Monday=1,Tuesday=2,Wednesday=3,Thursday=4,
Friday=5,Saturday=6,Sunday=7;

printf("enter a day of week to get course:\n");/*提示信息*/
scanf("%d",&iDay); /*输入星期*/

if(iDay>Friday) /*休息日的情况*/
{
if(iDay==Saturday) /*为周六时*/
{
printf("Go shopping with friends\n");
}
else /*为周日时*/
{
printf("At home with families\n");
}
}
else /*工作日的情况*/
{
if(iDay==Monday) /*为周一时*/
{
printf("Have a meeting in the company\n");
}
else /*为其他星期时*/
{
printf("Working with partner\n");
}
}

return 0;
}
感谢您的回答!

GCT1015
浏览 219回答 1
1回答

慕慕森

其实并没有什么用, 不必纠结写程序的人为什么这样去写.对于这个程序而言在scanf语句有合法输入的情况下是否赋初值并没有影响, 而scanf的输入异常应该专门加代码处理, 而不应该靠初值, 况且这里初值无法完全解决异常输入的问题.
打开App,查看更多内容
随时随地看视频慕课网APP