int a[ ]是否正确,为什么a=a-(++a)中a的值为0?

扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是(  ) A) 3 B) 0 C) 9 D) -12
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
D) -12--------等价 a += (a -= (a*a))自右向左算 a*a = 9 , a = 3不变a-= 9,
a=-6 a+=-6,
a = a+(-6),
为您推荐:
其他类似问题
扫描下载二维码设有语句int a=3,则执行了语句a+=a-=a*a;后,变量a的值是( )
问题描述:
设有语句int a=3,则执行了语句a+=a-=a*a;后,变量a的值是( )A.3 B.0 C.9 D.-12
问题解答:
答案是D-12 程序已经通过编译赋值语句的结合率是从右往左的步骤为:1 算a-=a*a,完成后a为3-9=-6;2 算a+=a-=a*a,此时a的值已经变化为-6,因此a=a+a结果为-12
我来回答:
剩余:2000字
-12.首先等号的运算顺序是从右至左.1 .计算 表达式a*a =9;2 .计算a-=9 也是一个表达式 ,其类似于 ===》a = a -9 = 3 - 9 = -6;3 .计算a += -6 ; a = a + -6 .在第2步时,a已经被重赋值 -6 ,所以这时 a = -6 + -6 =-12
*的优先级最高,然后-=和+= 从右往左.首先a*a=9,此时a=3;然后a+=a*a,即 a=a+a*a;a=12;接着是-=,即 a-=12; 结果是0
结果是9;a+=a+a;可以看成a = a + ( a + a );也就是a =a + 6; 然后a = 3 + 6
答案是c如果输入语句是scanf(“%d%d”,&a,&b) 就是D
#define floatx 123.4567main{#ifdef floatx{printf("%f\n",(int)(x*100+0.5)/100.0);}getchar();}兄弟看来你没有理解啊,我帮你细细的分析一下吧..首先 printf("%f\n",(int)(x*100+0.5)/100.0);%f是
先算x-=x+x;这个时候把左边的X重新赋值了也就是等于x=7-(7+7)=-7;再执行x+=后面的表达式:也就是等于x=x+x=-7+(-7)=-4了;
赋值语句从右向左计算x=7x-=x+x=7+7=14x=x-14=7-14=-7此时x被赋值为-7x+=xx=x+x=-7-7=-14最后x=-14
D) -12--------等价 a += (a -= (a*a))自右向左算 a*a = 9 , a = 3不变a-= 9, a = a-9, a=-6 a+=-6, a = a+(-6), a=-12
从右往左左运算,a*a=36,执行语句a=a-36,得到值-30,然后执行语句a=a-30,得到值-60,有问题的话可以在Hi我!
首先a+=a相当于a=a+a,a-=a相当于a=a-a,a*=a相当于a=a*a,又因为表达式是从右向左进行的,所以先是a*a=9,这时候a=9,然后是a-a=0,这时a=0最后就是a+a,当然就是0了
#include&&stdio.h&#include&&stdlib.h&int&main(){& & int&a;& & printf(&please&input&the&n
1 先算a-=a*a相当于a=a-a*a =5-5*5 =-202 再算a+=-20相当于a=a+(-20) =(-20)+(-20) =-40
开始时 x=0 y=0 z=0接着条件判断的条件是付值语句,把y值给x,结果 x=0条件语句当条件为0时表示假,所以程序执行else后面的t=2所以条件结束后 x=0 y=0 z=0 t=2
30 再问: WO ZHI DAO DA AN ,DAN YAO GUO CHENG A ,XIE LA ! 再答: 你的语句是: i=(a=2*3,a*5),a+6; 计算机看起来是一个逗号表达式,依次执行如下两行: i=(a=2*3,a*5) a+6 第一行是赋值语句,其右边又是一个逗号表达式,依次执行: a=2*
的值为0,a的值为6.b=(a>3&&0);a>3为真,即b=1&&0,故b=0
结果x=100从右向左算,先x=x*10=50,后x=x+x=100
你说到x=3+5,x*5; 结果x为8整个其实很简单.x=3+5;为一个赋值语句,由于整个语句你可以算出来x为8你疑惑的是后面不是有个x*5吗?为什么不是40?是吗?我们可以看到这个语句就是x*5 并没有赋值啊 如果是x=x*5;那么x等于40.但是现在只有一个运算的过程,并没有改变x的值,所以依然为8有什么不会的可以
这个应该是选C.已经给你运行了,截图了.你看看.原因如下:先执行a=2*3,a=6,然后再a*5=30,注意此时有一个括号,说明前面这个逗号表达式的值为30.后面再接着一个逗号表达式.因为赋值符号&=&&的优先级比逗号的高,所以直接把30赋值给了i.如果把这题的括号去掉的话,结果就是6了.
也许感兴趣的知识百度题库旨在为考生提供高效的智能备考服务,全面覆盖中小学财会类、建筑工程、职业资格、医卫类、计算机类等领域。拥有优质丰富的学习资料和备考全阶段的高效服务,助您不断前行!
京ICP证号&&
京网文[3号&&
Copyright (C) 2018 Baiduint a[3] = {1};只是给第一个元素赋值1 其他的全部为0?
[问题点数:40分,结帖人hongyu315]
本版专家分:1
结帖率 100%
CSDN今日推荐
本版专家分:406
本版专家分:824
本版专家分:113
本版专家分:724
本版专家分:89
本版专家分:4090
本版专家分:10849
本版专家分:10849
本版专家分:92992
2008年 总版技术专家分年内排行榜第五
2007年6月 总版技术专家分月排行榜第三
2007年6月 VC/MFC大版内专家分月排行榜第一
2008年5月 C/C++大版内专家分月排行榜第二2008年3月 C/C++大版内专家分月排行榜第二2007年10月 C/C++大版内专家分月排行榜第二2007年9月 C/C++大版内专家分月排行榜第二2007年6月 C/C++大版内专家分月排行榜第二2007年5月 C/C++大版内专家分月排行榜第二
本版专家分:369170
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:801
本版专家分:68
本版专家分:4504
本版专家分:49
本版专家分:49
本版专家分:165
2013年8月 VB大版内专家分月排行榜第一2013年3月 VB大版内专家分月排行榜第一2012年10月 VB大版内专家分月排行榜第一2012年9月 VB大版内专家分月排行榜第一2012年8月 VB大版内专家分月排行榜第一2012年7月 VB大版内专家分月排行榜第一2012年6月 VB大版内专家分月排行榜第一2012年5月 VB大版内专家分月排行榜第一2012年4月 VB大版内专家分月排行榜第一2012年3月 VB大版内专家分月排行榜第一2012年2月 VB大版内专家分月排行榜第一2012年1月 VB大版内专家分月排行榜第一2011年12月 VB大版内专家分月排行榜第一2011年11月 VB大版内专家分月排行榜第一2011年10月 VB大版内专家分月排行榜第一2011年9月 VB大版内专家分月排行榜第一2011年8月 VB大版内专家分月排行榜第一2011年7月 VB大版内专家分月排行榜第一
2011年1月 VB大版内专家分月排行榜第二2010年10月 VB大版内专家分月排行榜第二
2013年1月 VB大版内专家分月排行榜第三2012年12月 VB大版内专家分月排行榜第三2011年6月 VB大版内专家分月排行榜第三2011年2月 VB大版内专家分月排行榜第三2010年12月 VB大版内专家分月排行榜第三2010年11月 VB大版内专家分月排行榜第三2009年7月 VB大版内专家分月排行榜第三
匿名用户不能发表回复!|
其他相关推荐
// TrueFalse.cpp : Defines the entry point for the console application.
#include &stdafx.h&
int main(int argc, char* argv[])
int a[2][2]={{1},{2,3}};//则a[0][1]的值为0。( T
printf(&%d\n&,
给定一个m×n矩阵,如果某个元素为0,则将其所在的行和列都置为0,如下
即[[1,0,3][2,3,6][3,8,2]],置为[[0,0,0],[2,0,6],[3,0,2]]
Set Matrix Zeroes
//遍历数组,记录0元素所在的行和列
//遍历数组,将0元素所在的行和列都置为0cla
对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。解:程序:#includeint main(){ int i, a[10]; for (i = 0; i
a[i] = } for (i = 9; i &= 0; i--) {
printf(&%3d&, a[i]); } printf(&\n&); return 0;}结果: 9
#include &iostream&
#include &iomanip&
int main()
for (i=0;i&=10;i++)
int a[10]={1,2,3,4,5};
cout&&setw(3)&&a[i];
用vs2010运行,出现错误提示:&auto”不能与任何其他类型说明符组合,因为新版C++定义auto不能和任何类型进行组合,直接写作auto b=2,就表示把b自动转换成整型,即auto根据后面的值自动把该变量转换成相应的类型,或者不用auto,直接写作int b=2,系统会自动默认为自动变量。
int main()
printf(&原大小为:%d\n&,a);
printf(&十六进制表示为:%x\n&,a);
printf(&\n&);
//第三位清零
a&=~(1&&3);
//00 0000 0
面试遇到一个二维数组的笔试考题,我多年没用过二维数组,顿时懵逼,但是我还是想到了思路,可惜连二维数组的语法都忘了,真是万万没想到。
回来我坐在电脑面前,我想了想,还是把它写出来了,我自己也觉得比较low,但是至少实现了。留个笔记,以后可以看看,若有新的写法我也会及时更新。
考题要求:将数组中有0位置的横竖列都设置为0
以下是我实现的思路:
#include&stdio.h&struct seqlist{ int A[20];};int Input(int *A, int n);void S(int *A, int n, int b);void Print(int *A, int n);void main(){ struct seqlist L printf(&你要输入的个数:&); scanf_s(...
public class lianxi003 {
public static void main(String[] args) {
int[]array={1,2,3,4,5,6,7};
for(int i=0;i
int temp=array[i];
array[i]=array[array.length-1-i];//这里的array.length指的是数组的长度7个数字
方法同3阶矩阵
3*3矩阵,横竖对角都等于一个恒值 (15)
建立一个3*3二维数组a[3][3],将num=1赋值给a[0][1],然后保存其下标,a[0][1]的右上角的值等于num++,依次循环,
对于下标,肯定会越界,这里使用
int ki = (i-1+3)%3;
int kj = (j+1)%3;
如果 右上角的位置有元素的话,则将num++赋值给其正下方的位置百度题库旨在为考生提供高效的智能备考服务,全面覆盖中小学财会类、建筑工程、职业资格、医卫类、计算机类等领域。拥有优质丰富的学习资料和备考全阶段的高效服务,助您不断前行!
京ICP证号&&
京网文[3号&&
Copyright (C) 2018 Baidu

我要回帖

更多关于 c语言中int a=010 的文章

 

随机推荐