使用字符串LIbrary函数时出错

时间:2017-06-01 14:24:31

标签: c string function error-handling

这是我所面临的错误。

错误:警告:传递'__builtin_strlen'的参数1使得指针来自整数而没有强制转换[-Wint-conversion]

问题链接:Hackerrank Balanced Brackets

我的代码:

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
char rev(char c){
    char ch;
    if(c=='[')
        ch=']';
    else if(c=='{')
        ch='}';
    else if(c=='(')
        ch=')';

        return ch;
}
int main(){
    int t; //test cases
    scanf("%d",&t);
    for(int a0 = 0; a0 < t; a0++){
        char* s = (char *)malloc(10240 * sizeof(char));
        int l,ret;
        scanf("%s",s);
        l=strlen(s);
        char *st;
        st=(char *)malloc(l * sizeof(char));
        int top=-1;
        for(int i=0;i<l;i++){
            char ch=s[i];
            char chr=rev(ch);
            ret=strcmp(st[top],chr);
            if(ret!=0){
                top++;
                st[top]=ch;
            }
            else{
                top=top-1;
            }
        }
        if(top==-1)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}

如果有人可以帮助我,我将非常感激。 提前谢谢。

0 个答案:

没有答案