我遇到的问题是输出总是'-1',无论我输入什么。
我必须遵守的规则是: 如果输入数小于零,则输出-1; 如果输入数字恰好为零,则输出0; 如果输入数字大于零,则输出1。
代码如下:
#include <stdio.h>
int main ()
{
int number;
printf("please enter a number: ");
scanf("%i", &number);
if("number > 0")
{
printf ("-1");
}
else if ("number == 0")
{
printf("0");
}
else if ("number < 0")
{
printf("1");
}
}
答案 0 :(得分:0)
在这些if-else语句中
if("number > 0")
{
printf ("-1");
}
else if ("number == 0")
{
printf("0");
}
else if ("number < 0")
{
printf("1");
}
使用了像"number > 0"
这样的字符串文字作为条件表达式。表达式中使用的字符串文字转换为指向其第一个字符的指针,并且始终不等于0. t而if-else语句中的第一个条件产生true
。
我认为你的意思是以下
if( number > 0 )
{
printf ( "1");
^^^^^
}
else if (number == 0)
{
printf("0");
}
else
{
printf("-1");
^^^^^
}