static int count = 0;
printf("global op called,size%zu sum:%d",sz,++count);
為什么count不加加,
%zu是什么格式控制????????
uj5u.com熱心網友回復:
你這個肯定是與編譯器有關的(不符合C/C++標準)我測驗的編譯器中,有兩個不同的結果(設sz為1234)
一種是
global op called,sizezu sum:1234
若你的sz為0,結果就是
global op called,sizezu sum:0
它忽略了%z,直接輸出了z,而后面只取了sz的值,所以與count無關了
而另一種輸出為
global op called,size1234 sum:1
它是忽略%z中的z,當成%u輸出szr的值,然后輸出++count的值
這個實際是你程式本身的問題
uj5u.com熱心網友回復:
++count,count先自增等于1,輸出count為1如果寫count++,先輸出count為0,count再自增等于1
uj5u.com熱心網友回復:
沒看懂樓主意思,請無視上一樓。uj5u.com熱心網友回復:
據我的了解,%zu 是C99中引入,為了printf格式化輸出size_t型別資料而設定的。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84643.html
標籤:茶館
