C语言当中真输出的结果是什么?

#include<stdio.h>
void main()
{
int i=3;
int j=0;
int k;
k=(i||j);
printf("%d\n",k);
}
之前老师说非0的表示真,那这道题中k=(i||j)是真为什么输出1这个结果?所有此类判断真都是输出1的结果吗?

通过计算得到的真值其实就是 1。但如果是在表达式中,所有非0值都代表真。所以,不能用 if (k == true) 这样来判断值是否真值,一般是直接用 if (k) 或者 if (k != false) 这样来判断。追问

所以if(k==true)是相当于 if(k==1)吗?

追答

在 C 语言中是。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-28
#include <stdio.h>

#define MYFALSE 0
#define MYTRUE  !MYFALSE

int main()
{
printf("%d\n",MYTRUE);
 return 0;
}

相似回答