请考虑以下声明:
int a[]={1,2,3,4,5,6,7,8};
int i=0,n;
n=a[++i] + i++ + a[i++] + a[i] ;
根据我的逻辑,n 应该是 10。但是我在 c 中得到不同的输出(输出为 7)但是在 java 中我得到的预期结果是 10。在 c 中递增和递减运算符的工作方式有什么不同吗和爪哇。
这是我的确切 c 和 java 代码:
#include <stdio.h>
int main()
{
int a[]={1,2,3,4,5,6,7,8};
int i=0,n;
n=a[++i] + i++ + a[i++] + a[i] ;
printf("%d",n);
getch();
return 0;
}
带输出的 Java 代码:10
public class HelloWorld{
public static void main(String []args){
int a[]={1,2,3,4,5,6,7,8};
int i=0,n;
i=0;
n=a[++i] + i++ + a[i++] + a[i] ;
System.out.println(n);
}
}