在C中简单检查char数组中的字符

Sim*_*n_A 1 c

我是C的新手.这个代码在Flyport模块上运行并在他们自己的IDE上编译,但我认为我的错误很容易被任何熟悉C的人发现.

尽管几乎改变了一切,我仍然无法编译这些代码,我做错了什么?

char string_serial[50]="starting Value";    

if (string_serial[0] = "*")
        {   

            UARTWrite(2,"First Char OK");
            UARTWrite(2,"\r\n");

            else 

            UARTWrite(2,"First Char NOT OK");
            UARTWrite(2,"\r\n");

        }
Run Code Online (Sandbox Code Playgroud)

如果不明显我试图检查数组中的字符0是否为*.

谢谢

Des*_*Ice 6

if/else条件的语法错误

语法应该是

 if(condition)
  {
  }

  else
  {
  }
Run Code Online (Sandbox Code Playgroud)

对于您的特定代码,它应该是

if (string_serial[0] == '*')
        {   

            UARTWrite(2,"First Char OK");
            UARTWrite(2,"\r\n");
         }

else 
        {
            UARTWrite(2,"First Char NOT OK");
            UARTWrite(2,"\r\n");

        }
Run Code Online (Sandbox Code Playgroud)

=运营商分配,其分配的值(返回true成功时).你需要的是==(用于比较).

也可以使用单引号作为字符,如上面的代码所示.