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; //定义三个整形变量 初值都为 0
if(a=b+c) //如果a = b + c 成立
printf ("***a=%d\n", a ); //输出 a 的值
else printf("$$$ a=%d\n", a ); //if 语句不成立 还是输出 a 的值
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-08
int a=0, b=0, c=0;//a,b,c的初始化。
if(a=b+c)printf ("***a=%d\n", a );//如果a=b+c ,则输出***a= ;a的值
else printf("$$$ a=%d\n",a ); //否则输出 $$$ a= ; a的值

你这个程序结果输出的应该是***a=0。这程序没啥作用啊。要从键盘输入a,b,c的值,才有实际的意义啊。
第2个回答  2012-04-08
这个输出$$$a=0
因为a=b+c为假追问

为什么a=b+c是假的,具体 解释一下谢谢

追答

a=b这是一个赋值表达式a的值被赋为b的值0,然后a在和c相加,因为c=0,所以整个表达式就为0

第3个回答  2012-04-08
不就是简单的输出语句么 输出好像是***a=0 "***a=%d\n"是格式