在c中的字符串上使用printf()的逻辑错误

时间:2016-09-27 23:10:25

标签: c

评论printf()似乎给了我一个细分错误。我试着寻找答案但没有出现:/

char *var_name(char *data)
{
    char *trash, *nawa;
    int i=0;

    trash = strsep(&data,"\"");
    nawa = strsep(&data,"\"");
    printf("<br><br>%s",nawa);
    if(vname==NULL) return data;

    data = val_eater(data);
    //printf("here is: %s",data);

    return data;
}

char *val_eater(char *data)
{
    int a=0;
    while(1) {
        if (data[a] == '\n' || data[a] == '\r' || data[a] == ';' )  { 
            a++;
            continue;
        }
        break;
    }
    data = &data[a];
    return data;
}

Image of the code snippet(.png)

val_eater()的返回值应该是指向不是'\n''\r'';'的字符串的最近值的指针。我正在使用printf()查看它是否正常工作(是的,确实如此)但是当我尝试删除printf时,会产生分段错误。

0 个答案:

没有答案