参见英文答案 >
What is x after “x = x++”? 17个
>
Why are these constructs using pre and post-increment undefined behavior? 14个
请考虑以下声明:
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和java中的工作方式有什么不同.
这是我的确切c和java代码:
#include
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);
}
}