我在C++中編譯了兩個簡單的程序,每個程序都做了細微的更改,並使用查詢echo $?
輸出由main返回到操作系統的值。爲什麼返回的值不同?
程序1
int main()
{
return 0 ;
}
計劃2
int main()
{
return -1 ;
}
當我運行第一程序和做echo $?
將該值作爲預期0,但是當我跑的第二程序和echo $?
的值是255,而不是預期的-1。
這是爲什麼呢?
我使用的是Ubuntu 12.04 LTS,如果它很重要
Linux僅使用來自'main()'的返回值的最低有效位8位,並將其視爲無符號數。 –
@MichaelBurr:你應該把它作爲答案(我正要做)。 –
[Linux/bash中程序返回值的有效範圍是多少?](http://stackoverflow.com/questions/8082953/what-is-the-valid-range-for-program-return-value -in-Linux的bash)的 –