i ++と++ i、および関数での++の使用に関する重要な考慮事項

i ++および++ iに関する重要な考え

最初に次のプログラムを見てください。

public class PPTest {
    
    
    public static void main(String[] args) {
    
    
        int x=0;
        System.out.println("函数外x为:"+x);
        test(x++);
        System.out.println("现在x是:"+x);
        test(++x);
        System.out.println("现在x是:"+x);
    }

    public static void test(int x) {
    
    
        System.out.println("函数内x为:"+x);
    }
}

画像-20210317174231290

問題がわかりますか?

はい、関数では、パラメータが呼び出され++、外部データも変更されます

そして、そうである場合后++、内部関数は++前の値を呼び出します!

このような問題は、バックトラック関連の問題を作成するときに大きな影響を及ぼします。



関数に追加する場合は、次の形式で記述する必要がありますi+1

public class PPTest {
    
    
    public static void main(String[] args) {
    
    
        int x=0;
        System.out.println("函数外x为:"+x);
        test(x+1);
        System.out.println("现在x是:"+x);
    }

    public static void test(int x) {
    
    
        System.out.println("函数内x为:"+x);
    }
}

画像-20210317174601579

md、現時点++では問題に悩まされるとは思っていませんでした

おすすめ

転載: blog.csdn.net/weixin_44062380/article/details/114941036