C错误说表达式不可分配?

Sne*_*722 -1 c compiler-errors

所以我正在编写一个程序,它采用三种颜色的电阻带的字符串输入并计算它的电阻.

我已经接受了输入,这个函数使用strcmp(或strcasecmp)来比较字符串和颜色列表.但是,我收到编译器错误,说"语句不可分配",直接引用if/elseif语句.

我有一个数组中的列表,但出于此目的,我只使用了一个字符串.这是我收到错误的函数.我是否可能需要添加for或while循环?

char calculate_first_resistance(char color1[8])
{
    g = strlen(color1)-1;
    if( color1[ g ] == '\n')
        color1[g] = '\0';


    if (strcmp(color1, "black")=NULL)
    {
        band1=0;
    }
    else if (strcmp(color1, "brown")=NULL)
    {
        band1=10;
    }
    else if (strcmp(color1, "red")=NULL)
    {
        band1=20;
    }
    else if (strcmp(color1, "orange")=NULL)
    {
        band1=30;
    }
    else if (strcmp(color1, "yellow")=NULL)
    {
        band1=40;
    }
    else
    {

    }

    printf("%d", band1);
    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

JNK*_*JNK 7

if (strcmp(color1, "black")=NULL)
Run Code Online (Sandbox Code Playgroud)

应该

if (strcmp(color1, "black")==0)
Run Code Online (Sandbox Code Playgroud)

编辑:比较0而不是空.参见Arc676的帖子