易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++

C/C++ code:

#include <iostream.h>
void main()
{
int a=1,b=2;
cout<<(a++)+b<<'\t'<<a+++b<<endl;
cout<<a<<'\t'<<b<<endl;
}


结果
4  3
3  2
怎么分析?后面+++怎么结合啊,是+和++,还是++和+呢?
++和+

LZ 无聊

这和编译器有关

又是这种问题。。

根据最长识别原则,是++和+

同意楼上:
根据最长识别原则,是++和+




引用
根据最长识别原则,是++和+


对的。

建议楼主看下 《C陷阱与缺陷》,里面讲到这个问题了。并且是本很好的书,可以下电子版的。

按照贪心原则,编译器一个一个读字符并试图解释。a+++b被解释成a++ + b。
如果是a+++++b,因为(a++)返回的是个临时变量,不可用作左值,那么((a++)++)+b就不对,所以只能a++ + ++b。
如果是a+++++a,那么就是a++ + ++a,但是对于+操作符,标准未规定先计算左操作数还是右操作数,所以具体结果得看编译器怎么实现,所以结果未定义,这种写法应避免。


相关问答:

jsp中 <c:if test> 相关问题

在查询后将查询出来的值赋给各输入框
<c:if test="${not empty dataValue}">
      fm.SAMPLING_DATE.value=" <c:out value='${dataValue.SAMPLING_DATE}'/ ......

c基础

#include <string.h>
#include <stdio.h>

void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......

ftp上传下载c文件方式

在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......

C\C++如何计算函数的导数

C\C++如何计算函数的导数,本人新手,想写个程序,但是不知道如何下手,还望高手指点一二,谢过。
这个……

跟函数的具体形式有关吧,难道你想编出个“万能”的求导函数?

俺上学时想过自动推导公式,后来 ......

C 程序问题 (二) - C/C++ / C语言

问一下:
#include <stdio.h>
int main()
{
  char x, y, z;
  int i;
  int a[16];
  for(i=0; i<=16; i++)
  {
  a[i] = 0;
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号