我在 Keil uVision 4 中遇到了问题。如果我使用多个条件创建一个if语句,编译器会给出一条错误消息:
Build target 'HY-MiniSTM32V'
compiling main.c...
..\USER\main.c(28): error: #29: expected an expression
..\USER\main.c(32): warning: #12-D: parsing restarts here after previous syntax error
..\USER\main.c(32): error: #65: expected a ";"
[...]
我的“错误代码”就是这个小片段:
while(choosed != 1){
getDisplayPoint(&display, Read_Ads7846(), &matrix);
if(display.x <= 130) && (display.x >= 10) && (display.y <= 18) && (display.y >= 10){
color = 0xF800;
choosed = 1;
}
}
答案 0 :(得分:4)
你错过了if
陈述的主要内容。编译器会将您的if
语句视为
(if(display.x <= 130)) && (display.x >= 10) && (display.y <= 18) && (display.y >= 10)
这会给你一个语法错误。将其更改为
if ((display.x <= 130) && (display.x >= 10) && (display.y <= 18) && (display.y >= 10))