如果要将其用作if(for或任何)语句的主体,则需要围绕多语句块的大括号:
else if (PORTA.RA2==1) {
count = count+1;
PORTC = count;
}
Run Code Online (Sandbox Code Playgroud)
否则只有第一个陈述是有条件的; 因此PORTC = count;,无论if测试结果如何,您的代码每次都会执行.
我喜欢在所有这些块周围放置括号,即使只有一个语句,所以如果我稍后添加更多语句,我也不能忘记添加它们.
此外,main必须返回int不void,你应该多加小心格式化你的代码以匹配其逻辑结构.
更新:此外,您永远不会初始化count,因此它具有任意浮点值.你想要一个小整数类型,因为它只应该取0到16之间的整数值,你需要初始化它:
char count = 0;
Run Code Online (Sandbox Code Playgroud)