下面的程序执行后count的结果是()
- public class Exec39 {
- public static void main(String[] args) {
- int count = 0;
- for(int i = 0; i < 10; i++) {
- count = count++;
- }
- System.out.println(count);
- }
- }
复制代码
A、0 B、10 C、9 D、11
答案是A,自己第一次将这个代码跑一遍以后也没看懂,后来去网上找了些解释:
java的编译器对于i = i++,相当于temp = i ; i = i+1 ; i = temp,换句话说相当于什么事都没做。
而C语言的编译器对于i= i++的处理方式则不同,如果上述代码改成用C语言写,那么结果是10。
也就是说,在java里i++和i = i++不是一个概念,但在C语言里,这两者的作用一样。 |
|