C语言高手进!!
帮我解释一下为什么这个程序运行的结果是 -4 我怎么算都算不出噢..!
才学C的,别笑话我. ^_^
main()
{
int n=0,m=1,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf("%d\n",x);
}
参考答案:第一句,!n 返回的是TRUE,if(TRUE)返回的还是TRUE,所以执行该 句。
第二句,M本身就是TRUE,所以还是执行。
第三句,if()中的变量是个非0值,返回还是TRUE,所以仍然执行。
帮我解释一下为什么这个程序运行的结果是 -4 我怎么算都算不出噢..!
才学C的,别笑话我. ^_^
main()
{
int n=0,m=1,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf("%d\n",x);
}
参考答案:第一句,!n 返回的是TRUE,if(TRUE)返回的还是TRUE,所以执行该 句。
第二句,M本身就是TRUE,所以还是执行。
第三句,if()中的变量是个非0值,返回还是TRUE,所以仍然执行。