c语言的大虾们,看看这段程序出现了什么错误?为什么编译时出现expected ';' before "printf"

/*再接再厉*/
#include<stdio.h>
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;
}

第1个回答  2011-10-12
sign 赋值的时候没有加 ;结尾
第二,你的if后面是一个复合语句,所以要加大括号
第2个回答  2011-10-12
if(x<0)
sign=1
少了“;”,据题意应该是sign=-1;
if(x>0)
sign=1
少了“;”,应该是sign=1;
if(x<0)与第一个else没有对齐
第3个回答  2011-10-12
#include<stdio.h>
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;
}
第4个回答  2011-10-12
if(x>0)
sign=1
printf("x为%d时,符号为%d",x,sign);
你这里当然有问题的了,修改为:
if(x>0)
{
sign=1;
printf("x为%d时,符号为%d",x,sign);
}本回答被网友采纳
第5个回答  2011-10-12
整个程序修改如下:
#include<stdio.h>
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;
}
相似回答