C语言中,如果要判断两个数是否同时为1,能不能用连等表达式?

作者&投稿:乜恒 (若有异议请与网页底部的电邮联系)
C语言中怎样同时判断两个等式同时为1~

if(a == 1 && b == 1){}

不对,m==n如果为真返回值为1,然后变成1==s[0];判断与目的不符,错

==运算符的求值顺序是“从左到右”,那么对于a == b == 1来说,先计算a(假如是表达式的话),再计算b,如果满足a == b就决定了该逻辑表达式的值,不再进行 == 1的比较运算,这是由于“短路”效应造成的,等效于a == b || b == 1,显然与你的目的不符,所以说,要判断a和b是否同时为1,不能写成if (a == b == 1),而只能写作if((a == b) && (b == 1)),或if((a == 1) && (b == 1)),或if((1 == a) && (1 == b))等。

上面的不行,逻辑判断连续来语法上是没有问题的,但是得不到想要的结果,呵呵
道理应该很简单,如a == b == 1这个,运算顺序是先运算a == b返回值是0或者1,再让这个0或者1和这个后面的表达式运算,也就是0或者1和后面的1运算,
0==1或者1==1来做

所以说语法上没有问题,但是结果不一定是你想要的
如果ab都为2,那么a==b返回1,和1运算,那么返回1,但是ab是2,但不是1,可是返回1,是正确的
明白没??????????

以我的经验,实际中不能用连等。
假设语法合法,如果从左到右计算的话a==b结果为1,刚巧 1==1,最终结果为1,可以通过。

用a == b && a == 1
写个程序验证一下
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int a = 3;
int b = 3;
if(a==b==1)
printf("a,b都是1\n");
else
printf("a,b不都是1\n");
system("pause");
return 0;
}
输出结果为 :
a,b都是1

因为 a==b==1 即 (a==b)==1
在a=3,b=3 时 a==b的值为1
1==1
也为1

可见a == b == 1 只用表示 ab相等,不能表示ab都为1

if(a==1 && b==1)


C语言中,如果要判断两个数是否同时为1,能不能用连等表达式?
再计算b,如果满足a == b就决定了该逻辑表达式的值,不再进行 == 1的比较运算,这是由于“短路”效应造成的,等效于a == b || b == 1,显然与你的目的不符,所以说,要判断a和b是否同时为1,

易语言中如果()和判断()有什么区别?
如果和判断都是 根据提供的逻辑参数的值,来决定是否改变程序的执行位置 但是唯一不同的是,判断是 如果提供的逻辑参数值为真,程序继续顺序向下执行,否则跳转到下一分支处去继续判断。而如果是 如果提供的逻辑参数值为真,程序继续顺序向下执行,否则跳转到左侧箭头线指向的命令处去执行。

易语言,判断和如果的区别
【判断】多用于大于两个条件的判断。当条件为真是不在判断下去。否则就继续沿着左侧箭头向下执行。【如果】在【如果真】的基础上增加了条件为假时的反应。【判断】也是如此。当条件为真是不在判断下去。否则就继续沿着左侧箭头向下执行,在这点上【如果】和【判断】是相同的。在只需要判断一个条件真假...

易语言中的“如果”“如果真”和“判断”的区别是什么?
如果真 相当于 如果 没有否则那部分而 判断 是满足对多个条件的支持

在c语言中,如何判断一个值为“真”
在C语言中,逻辑值“真”用数字1表示,逻辑值“假”是用数字0表示。在c语言中,任何非0数字都能够被系统解释为“逻辑真”。逻辑运算的值也是有两种分别为真和假,C语言中用整型的1和0来表示。其求值规则如下:1、与运算 && 参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 &&...

易语言中的"如果""如果真"和"判断"的区别是什么?
判断,如果:判断:先判断是否满足,满足就按顺序写代码,不满足就按线所指的继续判断。如果:是先判断是否满足,满足就按顺序写代码,不满足就按线头所指的方向写代码!!!两者的区别是:一个如果不满足可以继续判断,一个不用继续判断。这是我复制吧友的,如果还有什么不明白尽管问,我知道他们的区别,...

C语言中用来表示“字符变量x为空格或回车”的表达式为
则第一个条件 `x == ' '` 或第二个条件 `x == '\\n'` 会求值为真(即非零),整个表达式就会返回真;否则,整个表达式返回假。注意,在 C 语言中,回车的转义序列是 `\\r\\n`,其中 `\\r` 表示回车。因此,如果需要同时判断空格和回车,应该使用 `\\n` 而不是 `\\r\\n` 来表示回车。

C语言中怎样判断一个数是几位
思路:因为c语言中整数除以整数等于整数,所以一个数除以10就少一位,所以求一个数的位数可以依次除10操作,直到其位0,每除10该数的位数加1。参考代码:include <stdio.h>int main() {int n,sum=0;scanf("%d",&n);while(n){sum++;n\/=10;} printf("该数的位数为:%d\\n",sum);return...

C语言中if(!p)是什么意思?急?
1、!p意思就是非p,如果p的值为0,!p判定为真;如果p的值不是0,!p的判定为假。2、如果指针没有内容,NULL。即p的值为0,!p判定为真。3、如果指针不指向空的话执行if里面的语句。判断指针是否为空,也就是说指针是否指向了具体的结构体。4、C语言中%p用来输出指针类型自身的值。也就是说...

c语言编程中如何判断一个数是否为整数
一、判断思路:1、整数中,按十进制计算,合法字符为0到9,另外在最初位置可以有符号,即+或者-。2、对于输入的值,可以先存储到字符串中,这样转换为判断字符串中是否为整数。3、先判断第一个字符是否为+或者-, 如果是,则从第二个开始判断,否则从第一个开始判断。4、对每一个需要判断的字符,...

永和县15033851949: 在单片机C语言编程里,if语句如果要同时判断两个变量应该怎么办?希望能举例说明一下 -
滕钟澳特: 使用条件与运算符即可”&&“ 举例: if( (P01 == 1) && (P02 == 1) ) { ......... } else { ...... }if( (a> 5) && (b<6) ) { ......... } else { ...... }

永和县15033851949: 在C语言中怎样判断一个数是否同时含有奇数和偶数 -
滕钟澳特: #include#include main() { int a,i,even,odd; even=1; odd=1; loop1: printf("Please Enter a Number:"); scanf("%d",&a); if (a<=0) { printf("Please Enter a Positive Number!\n"); goto loop1; } else { for(i=1;i

永和县15033851949: C语言中的逻辑与( AND)符号是什么? -
滕钟澳特: C语言中的逻辑与运算符(AND)符号是"&". 在C语言中,逻辑与运算符"&"用于判断两个条件是否同时满足.如果两个操作数都为真(非零),则结果为真(非零),否则结果为假(零). 例如,以下代码将打印"Both true",因为第...

永和县15033851949: c语言怎么判断是否同号 -
滕钟澳特: 如果两个数相乘可能会溢出. 你可以分别两个数除以它们的绝对值,用函数fabs可以得到绝对值(要包含头文件math.h) 然后在看结果是否同号了.不过除之前还是要判断是否有零.

永和县15033851949: C语言怎么判断几个数都相等 -
滕钟澳特: 1、首先新建一个 判断小数是否相等项目. 2、然后添加一个equal.c文件,如图所示. 3、包含stdio.h头文件,如图所示. 4、接着输入main函数,如图所示. 5、定义两个double类型的小数. 6、最后输入判断两个小数是否相等的代码. 7、运行程序,查看结果,就完成了. 注意事项: 当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势.计算机系统设计以及应用程序编写是C语言应用的两大领域.

永和县15033851949: 问个c语言中for循环的问题 -
滕钟澳特: for(i=0,k=-1;k=1;i++,k++) 首先在for语句在有三条语句,第一句(对变量的初始化):i=0,k=-1; 第二句(循环语句终止的条件):k=1;第三句(步长,即每执行一次循环后 就量的增加量):i++,k++; 在for循环中只有当第二句为假时程序才会...

永和县15033851949: C语言中判断两个数组内容是否相同! -
滕钟澳特: 两个数组若长度不等,则两数组不等;若长度相等,则可用库函数memcmp(a,b,n);判断(其中a、b是两个数组指针,n是长度),返回0则a与b相等,否则不等.若是两个字符串则无论二者是否等长,都可直接调用库函数strcmp就可解决.该函...

永和县15033851949: C语言中,符号“!=”和“==”是什么意思?比如a!=b,a==0 -
滕钟澳特: !=是逻辑不等于号而==是判断是否相等.1. C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程...

永和县15033851949: c语言怎么判断两个数组中重复数字的个数? -
滕钟澳特: 判断两个数组中重复数字的个数方法如下:#include #include int main(){ int n; int *a; int i; scanf("%d", &n); a = (int *)malloc(sizeof(int) * n); for(i = 0; i < n; i ++) { scanf("%d", &a[i]); } for(i = 0; i < n - 1; i ++) { for(int j = 0; j < n - i - 1; j ++) { if(a[j] > ...

永和县15033851949: c语言中如何写程序判断输入的两个数是否为连续的斐波那契数列?
滕钟澳特: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TuiQuanApp { class Program { static void Main(string[] args) { Console.WriteLine("有多少人参加游戏?"); int Person = Convert.ToInt32(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网