我是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是否为*.
谢谢
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成功时).你需要的是==(用于比较).
也可以使用单引号作为字符,如上面的代码所示.