作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到的问题是,无论我输入什么,输出始终为“-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");
}
}
最佳答案
在这些 if-else 语句中
if("number > 0")
{
printf ("-1");
}
else if ("number == 0")
{
printf("0");
}
else if ("number < 0")
{
printf("1");
}
使用字符串文字作为条件表达式,例如“number > 0”
。表达式中使用的字符串文字将转换为指向其第一个字符的指针,并且始终不等于 0。因此 if-else 语句中的第一个条件产生 true
。
我认为你的意思是以下内容
if( number > 0 )
{
printf ( "1");
^^^^^
}
else if (number == 0)
{
printf("0");
}
else
{
printf("-1");
^^^^^
}
关于c - 我的 IF 程序不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40661669/
我是一名优秀的程序员,十分优秀!