|
发表于 2010-1-14 12:16:26
|
显示全部楼层
Post by jequi;2063571
在C中return -1
但是在sh里echo$? 看到的却是0
把-1改成255就没有问题
有没有哪位也遇见过这种问题?
efan@EFAN-DT ~
$ ls
_viminfo test.c
efan@EFAN-DT ~
$ gcc test.c -o test
efan@EFAN-DT ~
$ ./test.exe
efan@EFAN-DT ~
$ echo $?
0
efan@EFAN-DT ~
$ cat test.c
int main()
{
return -1;
}
efan@EFAN-DT ~
$ sh --version
GNU bash, version 3.1.0(1)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.
linux的返回值只能用8位来表示,0~255,如果是-1的话,因为shell会把它当做无符号的整数来看,所以得到的是255.显示0就不得而知了~ |
|