Функция system() возвращает неверный код завершения. В чем дело? Помогите советом, пожалуйста. Система - Red Hat Linux 6.2, ядро 2.4.5. glibc 2.0.
Пример:
$ cat sys.c
#include <stdlib.h>
#include <stdio.h>
int main (){
int j;
j=system("./ret");
printf("sys - %d\n",j);
exit(j);
}
$ cat ret.c
#include <stdio.h>
int main(){
int i;
scanf("%d",&i);
printf("%d\n",i);
exit(i);
}
Результаты парадоксальны:
$ ./sys
2
2
sys - 512
$ ./sys
4
4
sys - 1024
$ ./sys
1024
1024
sys - 0
В чем может быть дело?
Филипп