为什么这不起作用,我对编程很新,但我似乎无法弄清楚为什么这不能正常工作.
#include <stdio.h>
#include <math.h>
int main(){
int num1;
printf("Enter 1, 2, 3.");
scanf("%d", &num1);
if(num1 = 1)
printf("You entered one");
else if(num1 = 2)
printf("You entered two");
else if(num1 = 3)
printf("You entered three");
else
printf("Invalid");
}
Run Code Online (Sandbox Code Playgroud)
在C中,在条件(if语句)中使用赋值(int x = 5)是有效的.
例如:
int x = 0;
if (x = 5)
{
}
Run Code Online (Sandbox Code Playgroud)
如果可以完成赋值并且值!= 0,那么它将评估为true(它返回5到"if"并且所有非零项都按惯例为真).在这种情况下,它可以完成并返回5 .
你可能正在寻找这个:
int x = 0;
if (x == 5)
{
}
Run Code Online (Sandbox Code Playgroud)
这将评估为false(0).
请记住:您使用单个等号"="表示"赋值".使用双等号"=="表示"比较".