c语言代码问题求解..

初学c语言
#include

int main()
{
int x=5;
if(x--<5)
printf("%4d",x);
return 0 ;
}
此时运行的结果:

img


当在这个代码的基础上加个else:
#include
int main()
{
int x=5;
if(x--<5)
printf("%4d",x);
else
printf("%d",x++);
return 0 ;
}
此时运行结果:

img

我想问问不加else为什么直接没有任何输出的啊?那在if中判断 if(x--<5) 时这个x--会导致x自减到4吗?

请求大虾帮帮忙分析一下这个代码

if(x--<5) 是在判断后自减的,即x会以5的值去比较,然后式子比较结束后,x自减为4

你的else不是输出了一个4吗,没有换行而已。
x--是先使用x原来的值,最后才 -- ,即先比较 x > 5后再进行 -- ,如果是 --x 的话,是先 -- 后再比较

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^