main() { int a=0,b=0,c=0; if(a=b+c)printf ("***a=%d\n",a ); else printf("$$$ a=%d\n",a ); }

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 11:20:53
main() { int a=0,b=0,c=0; if(a=b+c)printf (

main() { int a=0,b=0,c=0; if(a=b+c)printf ("***a=%d\n",a ); else printf("$$$ a=%d\n",a ); }
main() { int a=0,b=0,c=0; if(a=b+c)printf ("***a=%d\n",a ); else printf("$$$ a=%d\n",a ); }

main() { int a=0,b=0,c=0; if(a=b+c)printf ("***a=%d\n",a ); else printf("$$$ a=%d\n",a ); }
(PS:你题目中的条件判断是个赋值语句,所以返回值是a的值,为0,所以假,不执行.如果按我的下面这个程序的话,返回值是2,非0,真,执行.这里是赋值语句,不是逻辑表达式,区分==和=的区别,但是由于你题目中的都是初始化为零,所以不管 是赋值=还是逻辑判断==都是零,所以都不会执行.明白?)
#include
void main()
{
\x05int a=1,b=1,c=1;
\x05if(a=c+b)
\x05\x05printf("***a=%d\n",a );
else
\x05\x05printf("$$$ a=%d\n",a );
} 结果***a=2
#include
void main()
{
\x05int a=1,b=1,c=1;
\x05if(a==c+b)
\x05\x05printf("***a=%d\n",a );
else
\x05\x05printf("$$$ a=%d\n",a );
}
结果$$$a=1