C语言大虾们,给我看看这段程序哪错啦!为什么编译时总出现下列错误? expected ';' before "printf"
解决时间 2021-01-26 12:57
- 提问者网友:沉默的哀伤
- 2021-01-26 02:51
#include
int main()
{
int x,sign;
printf("请输入一个整数:");
scanf("%d",&x);
if(x<0)
sign=1
printf("x为%d时,符号为%d",x,sign);
else
if(x>0)
sign=1
printf("x为%d时,符号为%d",x,sign);
else
sign=0;
printf("x为%d时,符号为%d",x,sign);
return 0;
}
最佳答案
- 五星知识达人网友:执傲
- 2021-01-26 03:54
#include
int main()
{
int x,sign;
printf("请输入一个整数x:");
scanf("%d",&x);
if(x<0)
{
sign=-1;
printf("x为%d时,符号为%d",x,sign);
}
else if(x>0)
{
sign=1;
printf("x为%d时,符号为%d",x,sign);
}
else
{
sign=0;
printf("x为%d时,符号为%d",x,sign);
}
}
全部回答
- 1楼网友:独钓一江月
- 2021-01-26 05:57
整个程序修改如下:
#include
int main()
{
int x,sign;
printf("请输入一个整数:");
scanf("%d",&x);
if(x<0)
{
sign=1;
printf("x为%d时,符号为%d",x,sign);
}
else if(x>0)
{
sign=1;
printf("x为%d时,符号为%d",x,sign);
}
else{
sign=0;
printf("x为%d时,符号为%d",x,sign);
}
return 0;
}
朋友,一看就知道问题呀!C语言中的语句需要用分号结束应该知道吧!?你的条件语句中的语句sign赋值都没有用分号结束,这是错误之一!还有,我想你这个程序实现的功能是不是当输入的数值非0时sign=1;当输入的数值是0时sign=0!?如果是的话,你的条件语句需要用大括号包括起来,因为你所要求的条件满足时需要执行的语句是两条,只有当条件满足时只执行一条语句时才能省去大括号!这是错误之二!希望这两条指出的错误会帮到你!有问题再问我啊!祝你好运!
【下面给上修改后的代码】:
#include
int main()
{
int x,sign;
printf("请输入一个整数:");
scanf("%d",&x);
if(x<0)
{
sign=1
printf("x为%d时,符号为%d",x,sign);
}
else if(x>0)
{
sign=1
printf("x为%d时,符号为%d",x,sign);
}
else
{
sign=0;
printf("x为%d时,符号为%d",x,sign);
}
return 0;
}
第一个if,第二个嵌套的if, sign=1后没分号
sign=1
printf("x为%d时,符号为%d",x,sign);
在if,和else后面只能有一条语句,如果有两条,用括弧{}
而且,后面输出貌似都一样,没必要分情况吧
我要举报
大家都在看
推荐资讯