让我们考虑以下程序:
#include <stdlib.h>
int main(int argc, char **argv){
int a,b;
if (argc != 3)
return -1;
a = atoi(argv[1]);
b = atoi(argv[2]);
a = b ? a/b : 0;
return a;
}
任务是通过在命令行中提供参数来使程序崩溃。
最佳答案
将 a
作为平台的 INT_MIN
并将 b
作为 -1。然后在任何二进制补码机器上都会出现溢出错误,尽管这不一定是崩溃。
关于c++ - 使用 cmd line args 使程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2701539/