c中的以下程序输出37,作为答案,我无法用它的逻辑出来。在其他语言中,答案如java或javascript输出为36.有人可以解释相同的逻辑提到的语言。
#include <stdio.h>
int main(){
int a = 10; //assignment of variable
printf("%d",(++a + ++a + ++a)); // increment the variable
getchar();
return 0;
}
public class postpreincrement {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 10;// variable a assigned value
System.out.println(++a + ++a + ++a);// evaluation of expression
}
}
var a = 10; // variable a assigned value
console.log(++a + ++a + ++a); // evaluation of expression
答案 0 :(得分:1)
在C语言中,它是未定义的行为,因为它试图在没有同步的情况下修改和读取同一个变量。