#include<iostream>
using namespace std;
int main(){
int num[5]={0,1,2,3,4};
int top=3;
cout<<num[--top]<<" "<<num[++top];
system("pause");
}
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
請各位大神明察實情
#include
using namespace std;
int main(){
int num[5]={0,1,2,3,4};
int top=3;
cout<<<" "<
system("pause");
}
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
請各位大神明察實情
不太可能
--x 是先運算後求值
x--是先求值後運算
這都是規定在C標準裡面的東西
不管是DEV還是TURBO 還是什麼都一樣
不可能會有第二種規則
首頁也明講了主機是採用DEV-C
可能你還要回去再看看
也許是其他問題
#include
using namespace std;
int main(){
int num[5]={0,1,2,3,4};
int top=3;
cout<<<" "<
system("pause");
}
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
請各位大神明察實情
不太可能
--x 是先運算後求值
x--是先求值後運算
這都是規定在C標準裡面的東西
不管是DEV還是TURBO 還是什麼都一樣
不可能會有第二種規則
首頁也明講了主機是採用DEV-C
可能你還要回去再看看
也許是其他問題
測試過了
genius0615說的沒錯
ZJ真的有這種問題
不信你自己上傳看看
測試後發現ZJ編譯器似乎會把top--跟--top都當成top--來運算
#include
using namespace std;
int main(){
int num[5]={0,1,2,3,4};
int top=3;
cout<<<" "<
system("pause");
}
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
請各位大神明察實情
不太可能
--x 是先運算後求值
x--是先求值後運算
這都是規定在C標準裡面的東西
不管是DEV還是TURBO 還是什麼都一樣
不可能會有第二種規則
首頁也明講了主機是採用DEV-C
可能你還要回去再看看
也許是其他問題
測試過了
genius0615說的沒錯
ZJ真的有這種問題
不信你自己上傳看看
測試後發現ZJ編譯器似乎會把top--跟--top都當成top--來運算
#include
using namespace std;
int main(){
int num[5]={0,1,2,3,4};
int top=3;
cout<<<" "<
system("pause");
}
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
請各位大神明察實情
不太可能
--x 是先運算後求值
x--是先求值後運算
這都是規定在C標準裡面的東西
不管是DEV還是TURBO 還是什麼都一樣
不可能會有第二種規則
首頁也明講了主機是採用DEV-C
可能你還要回去再看看
也許是其他問題
測試過了
genius0615說的沒錯
ZJ真的有這種問題
不信你自己上傳看看
測試後發現ZJ編譯器似乎會把top--跟--top都當成top--來運算
是喔...因為很少用--n所以不曉得
既然這樣 希望板大可以在首頁註明
不然會有更多的人吃了很多苦...
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
原來是這樣唷
所以以後要避免這問題(記)
不過ZJ跟Dev對這種情況做的判斷不同也是事實吧><"
以上程式碼在本機會輸出 2 3
上傳ZJ後顯示輸出3 3
難道ZJ跟Dev有編譯不同的運算規則?
原來是這樣唷
所以以後要避免這問題(記)
不過ZJ跟Dev對這種情況做的判斷不同也是事實吧><"
編譯器可以自己決定要怎麼做沒定義的行為XD。
噢...MinGW跟GCC/G++另一個常看到的相異處就是%I64d(u)/%lld(u)