答案:我没有正确初始化变量.
我需要记住指针声明如何在C中工作.
这段代码应该采用以下格式的一些命令行参数:
./foo 1 2 3 4 5 6 7 8 9 10 ...(任何合理数量的论点,只要它们可被5整除即可
我的计划是有5个可变大小的int数组来存储稍后用于逻辑的参数.所以,如果我有10个参数,我将有5个2-int数组,依此类推.
int* IP1, IP2, BID, PN, EID;
int i;
if((argc < 2) || ((argc-1) % 5) != 0)
{
/* Some error statements */
}
IP1 = (int*)malloc(argc-1);
IP2 = (int*)malloc(argc-1); //This is line 26
BID = (int*)malloc(argc-1);
PN = (int*)malloc(argc-1);
EID = (int*)malloc(argc-1);
for(i = 0; i < argc-1; i+=5){
IP1[i] = argv[i+1];
IP2[i] = argv[i+2]; //This is line 33
BID[i] = argv[i+3];
PN[i] …Run Code Online (Sandbox Code Playgroud)