#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
printf("a=0\n");
getch();
}
#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();
}