C语言初学 请高手帮我解决下问题 谢谢!

2024-12-22 22:35:11
推荐回答(6个)
回答1:

#include
void main()
{
int a;
printf("输入今天星期几:");
scanf("%d",&a);
if((a<1)||(a>7)) \\这里用"||"表示有一个为真都执行\\
{printf("请输入位于1-7之间的数:\n");
scanf("%d",&a);} \\这里应重新输入\\
if((a==6)||(a==7)) \\这里用"=="表示相等\\
printf("周末愉快\n");
if(a<=5)
printf("工作日愉快\n");
}
程序运行过了!

回答2:

应该是a==6或者a==7吧,两个等号。一个等号是赋值,(a=6)的值等于6,判断为非0,就认为是符合条件的。

回答3:

if((a=6)||(a=7)) 应该是if((a==6)||(a==7))

回答4:

if((a=6)||(a=7)) 要改成if((a==6)||(a==7))。
c语言中单等号是赋值的意思,双等号才是判断两者的逻辑关系的。

回答5:

把if((a=6)||(a=7))改写成为
if((a==6)||(a==7))
“=”是赋值号来的,“==”才是等号,初学者经常发生的错误。

回答6:

程序改成下面这样就OK了

#include
void main()
{
int a;
a:
printf("输入今天星期几:");
scanf("%d",&a);
if((a<1)||(a>7)) //不是&&而是||,其中一个就执行
{
printf("请输入位于1-7之间的数\n");
goto a;
}
if((a==6)||(a==7)) //等于号不是=而是==,=是赋值
printf("周末愉快\n");
if(a<=5)
printf("工作日愉快\n");
}