在线法官的编译错误,“公开功能声明”

时间:2019-10-20 18:02:24

标签: c

我给出了将输入的字符串转换为某些条件的问题,例如:

I = 1
R = 2
E = 3
A = 4
S = 5
G = 6
T = 7
B = 8
P = 9
O = 0

所有输入的字符串必须是大写字符串。

这是我的代码:

#include<stdio.h>
#include<string.h>


int main(){ 
    char a[100];

    int i;
    scanf("%[^\n]s", a);
    strupr(a);
    int length=strlen(a);
    getchar();


    for(i=0;i<length;i++){
        if(a[i]=='I'){
            a[i]='1';
        }
        else if(a[i]=='R'){
            a[i]='2';
        }
        else if(a[i]=='E'){
            a[i]='3';
            a[i]='4';
        }
        else if(a[i]=='O'){
            a[i]='O';
        }
        else if(a[i]=='S'){
            a[i]='5';
        }
        else if(a[i]=='G'){
            a[i]='6';
        }
        else if(a[i]=='A'){
        }
        else if(a[i]=='T'){
            a[i]='7';
        }
        else if(a[i]=='B'){
            a[i]='8';
        }
        else if(a[i]=='P'){
            a[i]='9';
        }
    }

    printf("%s\n", a);
    return 0;

}

但是在线法官一直在说编译器错误:

  

编译失败,退出代码为1,编译器输出:secet.c:在   函数'main':secet.c:11:3:警告:隐式声明   函数'strupr'[-Wimplicit函数声明] strupr(a); ^   secet.c:8:3:警告:忽略'scanf'的返回值,用   属性warn_unused_result [-Wunused-result] scanf(“%[^ \ n] s”,a);   ^ /tmp/ccWRs5uD.o:在函数main': secet.c:(.text.startup+0x73): undefined reference to strupr'collect2中:错误:ld返回1退出   状态

对不起,虽然很明显,但我不知道,我是编程新手。但是在我的编译器(dev-c ++)中,它运行良好。

0 个答案:

没有答案