int main(void)
{
int i = 0;
scanf_s("%d", &i);
if (i < 3)
printf("哈哈\n");
else if (i == 3)
printf("%d", i);
else(i > 3)
; printf("我也是\n");
system("pause");
return 0;
}
之前我没有在printf 之前加;, 调试要求在printf之前加; 但是和我想写的不一样,请问是哪里出了问题?
把(i > 3)和后面的分号去掉即可
else后面不用加那个条件,if后面才用加。
else(i > 3)
->
else
; printf("我也是\n");
这里开头的分号要去掉,否则else为空,然后我也是会一直输出。
应该是else(i > 3)有问题,好像有点别扭,应该直接写else或者else if(i>3)
else(i>3)是什么梗?如果有效,当然后面要有语句
我想出来是什么意思了。
编译器是看成
else
(i>3)
了。
i>3可以作为语句(但是返回值没有接受者),但是这个语句没有结束符;,所以编译器判错