我有这个想法尝试在另一个程序的条件语句中使用 system 的返回值,这就是我想出的:
第一个程序:
#include <stdio.h>
#include <stdlib.h>
main(void)
{
char ans;
scanf("%c" , &ans);
if(ans == 'y' || ans == 'Y')
return 1;
else
return 0;
}
第二个程序(一个调用系统()):
#include <stdio.h>
#include <stdlib.h>
main(void)
{
if(system("/home/M435TR0x/a.out") == 1)
printf("you answered yes\n");
else
printf("you answered no");
}
但这不起作用,因为you answered no
当我使用 printf 查看 system 的返回值时程序总是返回,如果当我替换为I got256
时程序应该返回1
(0 工作正常)。我不知道他们发生了什么,但它让我想起了这种情况下一个字节中可能的组合数量以及 9bits 中的组合数量,就像程序正在执行 返回值和.return 1
return 2
510
return 1
return 2
(255 << (i - 1)) + 1
i
i > 0
有人知道那里到底发生了什么吗?