为什么答案是-12啊?不明白?具体说一哈谢谢!
追答1先算
a-=a*a
等价于
a=a-a*a
=3-3*3
=-6
2 再算
a+=-6
等价于
a=a+(-6)
=(-6)+(-6)
=-12
明白了,谢谢哈!c语言确实学习困难啊。天天看还是不懂。请教哈怎么学c语言啊?
本回答被提问者和网友采纳main() { int a=3; printf("%d\\n",(a+a-=a*a)); }
a+a这个表达式不能做左值,应该为:printf("%d\\n",(a+(a-=a*a)));
...main() { int a=3; a+=a-=a*a; printf("%d\\n",a); } 为什么结果为...
再运行 a += a; 即 a = a+a; 结果就为-12啦
...{ int a=3; a+=a-=a*a=a; printf("%d",a); } 运行过不了,怎么回事...
错误出在第五行:a+=a-=a*a=a;具体是在a*a=a这里出错了 原因分析:整个表达式是由右向左解释的,这是由赋值运算符的特性确定的。所以表达式等价于:a+=( a-= ( a*a=a ) );而a*a是一个右值,而非左值(就是说这个表达式只能放在等号右边,而不能放在左边)所以出现错误,无法通过编译 ...
计算表达式a+=a-=a*a的值,并打印出来.输入a为3
先执行a-=a*a这里的a=3,所以即 3-=3*3 = -6并将这个-6赋值给a 后面执行a+=(a-=a*a)即 -6 + = -6 ,即-12
C语言:a=3,a+=a-=a*a,求a
1.a=a-a*a=3-3*3=-6; 2.a=a+a=-6+(-6)==-12; 扩展资料: 先计算a*a=9,此时a=3,没变。a的最终值为-12。 a的最终值为-12。#include<stdio.h> intmain() { inta,min,max,mid;\/*定义变量*\/ scanf("%d%d%d"&a,&b,&c);\/*读取输入变量*\/ min=a<b&&a<a:(b<b:c); \/*取最...
...main() { int a=3; a+=(a<1)? a:1; printf("%d\\n",a); } 请问它...
很明显,当对条件 a < 1 进行判断时,因为a = 3 因此判断结果为false ,将执行 :号后面的表达式---也就是1---也就是a += 1, 因为a =3 因此 a += 1 的最终结果为4 。 明白了吗? :)
a+=a-=a*a,int a,a=3
从右往左,先算a*a,就是9,然后就是a-=9,3-9就是-6,然后是a+=-6,-6加-6,结果是-12 这个结果我上机验证过了,代码如下 include <iostream> using namespace std;int main(){ int a=3;a+=a-=a*a;cout<<a;system("PAUSE");return 0;} 可以给我分了吗??
设有int a=3,a+=a-=a*a的值是,要详细过程 谢谢
2013-04-08 C语言 main() { int a=9; a+=a-=a+... 35 2013-01-19 int a=2;a+=a-=-a*a++; a为多... 21 2012-04-03 Int a=3; Main() {Int s=0; {int... 17 2012-04-01 int a=1; printf("%d, %d, %d\\n"... 15 2013-07-27 int a=1 b=a++ + ++a 46 ...
int a; a=1; printf("%d\\n",a+=a-=a*a); 我知道结果是0,但不知道怎么...
首先明白这些运算符的结合顺序,应该是从右往左,所以先算a*a=1,然后算a-=,即运算a=a-1;得到a=0;然后再算a+=,a+=等同与a=a+前边的结果0;现在a=0,所以a=0+0,所以结果为0。
...main() { int a=1; printf("%d\\n",a=a*3,a*3); }
<%@ page language="java" contentType="text\/html; charset=utf-8"pageEncoding="gbk"%> <%@page import="java.sql.*" %> <html> <meta http-equiv="Content-Type" content="text\/html; charset=utf-8"> <head>