C++关于if条件判断的问题

#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Which number do you want to test";
cin>>a;
if(a%2) cout<<"number"<<a<<'\t'<<"is odd.";
else cout<<"number"<<a<<'\t'<<"is even.";
return 0;
}

这个函数if(a%2) cout<<"number"<<a<<'\t'<<"is odd.";
他只是说a%2并没有判断也不是a%2==1什么的并且输出的只是a,他怎么判断呀?

if while for等里面的判断语句的判断语句只是这个语句的返回值的情况
也就是说这个语句是任何形式的都可以,只是判断这个语句的返回值是否为零
是零,则是假的,不执行它包含的语句了
不是零则是真的,则执行他所包含的语句
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-03
比如你输入的是4
则输出应该是:
number 4 is evn.
假如你输入的是5
则输出应该是:
number 5 is odd.
第2个回答  2012-06-03
C++中判断逻辑结果是由表达式的值来决定的,当表达式的值为0时,C++就将这个表达式判断为“假”,当表达式的值为除了0以外的其他任何数值时(也叫非0),C++就将这个表达式判断为“真”,如果表达式的值是字符,就判断该字符的ascii码值是否为0,方法同上。
第3个回答  2012-06-03
在C++里面,0即是false 非0的数字则会转换为true 。
基于这个特点,a%2 的意思就是 ,
若a%2==0 则为真,否则为假。
第4个回答  2012-06-03
判断a奇数和偶数
第5个回答  2012-06-03
判断a%2是否为零

C\/C++ if语句的用法
C\/C++编程中if语句是用于的条件判断的控制语句,当判断条件成功时,将执行相应语句,否则跳过。具体形式如下: if(表达式) 语句; [else 语句;](可选) 或 if(表达式) 语句; else if(表达式) 语句; else if(表达式) 语句; …… else 语句;上面的描述当表达式成立时执行语句,而else是可选的,...

C++关于if条件判断的问题
if while for等里面的判断语句的判断语句只是这个语句的返回值的情况 也就是说这个语句是任何形式的都可以,只是判断这个语句的返回值是否为零 是零,则是假的,不执行它包含的语句了 不是零则是真的,则执行他所包含的语句

C++if语句问题
else if(x = 10)这一句是不对的,判断语句里面的是赋值语句了,所以if的判断结果是真,输出y=5;应该改为else if(x==10).

C++简单问题,关于IF判断
应该把 if(h=true) 改成两个“=”连写, if(h==true) 。后面的同理,你都写成了一个“=”希望对你有帮助。

c++if判断语句的问题
你的 if 语句有问题, 把 = 改成 ==, 你的是赋值, 在第一个 if 语句中, 先做了 c='+'; 的赋值, 所以每次都会计算加法, 还有 第四个if语句改成 if(c=='\/' && b!=0), 就可以正常运行了.建议把常量写在左边,这样下次就不会犯这种错误了 ...

c++的if的用法!
1,if 语句:该语句的作用是判断括号内的表达式是否成立,成立,则执行if后面的语句,否则不执行 2.% 求余(模)运算符 ,a%b的结果为,a整除b之后得到的余数。例如 9%6 其结果为3,6%9==6 3 != 关系运算符中的不等于,判断 该运算符左右两边的表达式是否相等。因此,该条语句的意思,是判断...

c++ if 语句
在C++编程中,if语句的使用遵循特定规则。首先,明确指出在if语句与执行语句之间不能插入逗号。在编程规范与数学表达式的写作中,逻辑判断的多个条件复合通常需要通过逻辑符号连接。这些符号包括:逻辑与操作符"&&"、逻辑或操作符"||"以及逻辑非操作符"~"。例如,如果需要表达"1等于1且x也等于1"的逻辑...

if语句(条件表达式)(C++)
1. if语句中应使用条件表达式作为判断条件。2. C++中,string和类类型默认不能用作条件表达式。3. 为兼容C语言,C++的数值类型(如char、short、int、long、long long等)能够隐式转换为bool类型,其中0表示假,非零值(包括-1)表示真值。4. if语句控制的花括号内可以包含任意代码块,因此可以嵌套...

c++:if判断语句不管用?
如果这段代码里的if能起作用的话,不就表示lA能存放比longmax大的数吗,不先存放怎么比较呢?这就与实际相矛盾了,lA不能存放超过longmax.的数。所以这里不管你输入什么超出范围的数scanf函数都会截取变成范围内的数。你可以把long int lA改成long long lA,或者double lA。

c++条件语句if()内的表达式没有判断符号什么意思
if后的括号里可以是任何有值的东西(表达式),判断时如果这个值是0则判为“假”,这个值非零则判为“真”。例如:if(5-3){ printf("true\\n");} else { printf("false\\n"); } 这段程序输出永远是true 实际上: 表达式 5>3 计算出来的值等于 1, 6>7-1 计算出来的值是0 ...

相似回答