如果(m= a> b)&&(n= c> d)
展开全部
1> 答案是:n = 2;
2> 问题具体分析如下:
(m=a>b)&&(n=c>d) 分析: && 有短路特性,即 m=
(a>b) 为假则整个表达式为假,不计算(n=c>d) 所以n=2;
3> 测试程序:
#include <stdio.h>
int main(int argc, char **argv)
{
int a=1, b=2, c=3, d=4, m, n;
m=n=2;
if((m=a>b)&&(n=c>d))
{
printf("(m=a>b)&&(n=c>d)");
}
else
{
//(m=a>b)&&(n=c>d) 中的 m = 0, n = 2
printf("(m=a>b)&&(n=c>d) 中的 m = %d, n = %d\n", m, n);
}
if((m=a<b)&&(n=c>d))
{
printf("(m=a<b)&&(n=c>d)");
}
else
{
//(m=a<b)&&(n=c>d) 中的 m = 1, n = 0
printf("(m=a<b)&&(n=c>d) 中的 m = %d, n = %d\n", m, n);
}
return 0;
}
2> 问题具体分析如下:
(m=a>b)&&(n=c>d) 分析: && 有短路特性,即 m=
(a>b) 为假则整个表达式为假,不计算(n=c>d) 所以n=2;
3> 测试程序:
#include <stdio.h>
int main(int argc, char **argv)
{
int a=1, b=2, c=3, d=4, m, n;
m=n=2;
if((m=a>b)&&(n=c>d))
{
printf("(m=a>b)&&(n=c>d)");
}
else
{
//(m=a>b)&&(n=c>d) 中的 m = 0, n = 2
printf("(m=a>b)&&(n=c>d) 中的 m = %d, n = %d\n", m, n);
}
if((m=a<b)&&(n=c>d))
{
printf("(m=a<b)&&(n=c>d)");
}
else
{
//(m=a<b)&&(n=c>d) 中的 m = 1, n = 0
printf("(m=a<b)&&(n=c>d) 中的 m = %d, n = %d\n", m, n);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询