是你的if与else不配对
----------------解决方案--------------------------------------------------------
以下是引用穆扬在2006-9-4 22:36:18的发言:
还不知道程序求什么就敢改
太强了吧?
看看楼主的程序代码;可以猜出问题是:
输入一个数a,当a>0的时候输出a=1
当a<0的时候输出a=-1
当a=0的时候输出a=0
----------------解决方案--------------------------------------------------------
错在这里
你的程序错在这个地方了
{
if(a<0)
printf("a=-1\n");
}
两个大括号用的地方不对
你可以这样用大括号
if(a>0){
printf("a=1\n");
if(a<0)
printf("a=-1\n");
}
如果不用大括号就这样写
if(a>0)
printf("a=1\n");
else
if(a<0)
printf("a=-1\n");
这样写就可以了,还有你最后那们也加错了,头文件里没有包含那个含数。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a>0)
printf("a=1\n");
{ /*花括号里的是复合语句*/
if(a<0)
printf("a=-1\n");
}
else /*else总是和最近的if配对*/
printf("a=0\n");
getch();
}
所以当a=2时,输出:a=1;
当a=-1时,输出:a=0;
程序应改为:
#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a>0)
printf("a=1\n");
else if(a<0)
printf("a=-1\n");
else
printf("a=0\n");
getch();
}
----------------解决方案--------------------------------------------------------