b加+的运算符写法正确吗?
作者&投稿:包佩 (若有异议请与网页底部的电邮联系)
语法错误。
b++的意思为b自加,即为b=b+1,b=2的意思为b赋值为2,但两者结合错误。可尝试以下写法:
1、++b=2
意思为:b自加后将b赋值为2。
2、b++==2
意思为:判断b是否等于2后b自加。
扩展资料
b++和++b的区别
运算优先级不同:++b的优先级大于b++的优先级。
发展历史
c语言诞生于美国的贝尔实验室,由D.M.Ritchie以B语言为基础发展而来,在它的主体设计完成后,Thompson和Ritchie用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。
为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI c”,目前,最新的C语言标准为2011年发布的 “C11”。
参考资料来源:百度百科-C语言
答楠血凝: array[5] 表示的是第6个元素,当然,若想要表示第5个元素则需要是array[4] array 是数组的首地址, 也是第一个元素的,[5]下标表示偏移量,第一个元素向后数5个不就是第六个元素了么,array[5] 相当于 *(array+5)
福鼎市17525817655: double a,b; int w; long c; 以下表达式正确的是?A.a=a+b=b++ B.w%((int)a+b) C.(c+w)%(int)a D.w=a==b - ?
答楠血凝: C是对的~~~ A:拆开来分析 a=b++(对的),但a+b=b++(这样的赋值语句是错的) B: 运算符% 只能用在整型上,((int)a+b)是double 型的,它仅仅对a进行强制转换,而b仍然是double 型,所以二者相加还是double型 C: 运算符== 是用在判断语句上的,如:if(a==b)
福鼎市17525817655: b=2 b++==2 - ?
答楠血凝: b=2;//此时b为2 b++;//为后加与(++b;先加)是不一样的 b++==2;//所以实际上,执行b==2;返回true;然后执行b+1,b=3; ----- b=2; ++b==2;//实际执行3==2;返回false;
福鼎市17525817655: c=b++=c++符合C++语法吗? - ?
答楠血凝: 不符合,不能给b++赋值
福鼎市17525817655: a=c++,b++; 请问这一语句中的是逗号表达式吗? 还是看成两个表达式呢? - ?
答楠血凝: 记得好像是逗号表达式的优先级低一些,所以这个式子等价于,(a = c++),b++.逗号应该是所有运算符中优先级最低的.当然,你没有必要记这些东西,所有不确定的,一律加括号.
福鼎市17525817655: a=b++;就这个赋值语句,我一直以为觉得就是先把b的值赋值给a,然后b再加1对吧.然后今天忽然联系到了运算符 - ?
答楠血凝: 其实大家一直以为是先把b赋值给a然后再b+1 其实是不正确的,正确的是先把b的值制造一个备份c,然后b自增1,然后再把c赋值给a
福鼎市17525817655: c++中b+=3是什么意思 - ?
答楠血凝: +=是赋值运算符,将变量与所赋的值相加后的结果再赋给此变量 b+=3 也就是 b=b+3
福鼎市17525817655: int a=5,b=6;a=(b=10,b++); a和b的值分别为多少? 为什么? - ?
答楠血凝: 逗号运算符是取最后一个的值 他是要运算b=10 只不过取最后一个表达式的值 而b++是先取b的值再自加,所以a=10,b=11
福鼎市17525817655: int a,b=6; a=b++; printf("%d%d",a,b); 运算结果为什么是a=6,b=7呢?感觉++的运算优先级比“=”的高, - ?
答楠血凝: a=b++是把b的值赋给a,这个语句结束后,b再自加变为7 所以a还是6,在下一个语句输出的时候a还是6,b自加后输出7.b++是b在下一个出现的语句自加1,++b是在该语句自加1.这两者不一样.
福鼎市17525817655: c语言中a+=b++=1;和a=int(b);这个语句为什么不对 - ?
答楠血凝: a+=b++=1 这个是两个赋值 一个是b++=1 一个是a+=b++; 其中b++=1不对, 赋值运算左值 只能是变量 不能是表达式.a=int(b) 这个是要强制转换,不过 强制转换要求类型必须加括号 所以 可以是 a=(int)b; 也可以是a=(int)(b); int外面没括号是不可以的.