在Linux中获取分段错误但在Windows中没有

时间:2017-12-09 01:04:07

标签: c linux segmentation-fault

我试图保护程序免受无效输入的影响,而且我已经创建了一个在Linux中不起作用的功能,但显然在Windows中可以正常工作。我收到一个字符串,该程序应该只接受3" "最后3个值是数字。 E.g" Mike 1 1 1"。

我提出的解决方案是

int verify(char string[]){
    int n = 0;
    char* aux = strtok(string, " ");
    while((aux=strtok(NULL, " "))!=NULL){
        if(isdigit(aux[0])==0)break;
        n++;
    }
    return n;
}

如果n为3,我接受输入。我知道这个解决方案对于像#1; Mike 1 1a 1"但是现在这不重要。我真的想知道为什么这在Linux中不起作用,我怎样才能以一种可行的方式测试它。

0 个答案:

没有答案