我正在编写一个代码,我在一个编译器中尝试过,一切都很顺利,但在另一个编译器中,它说“函数strupr未在此作用域上声明”我不明白为什么会这样这是我的代码:

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

int main(){
    char c,S[100];
    int x=0,i,a,b;
    for(i=0;c!='\n';){
            scanf("%c",&c);
            if (c!=',' && c!=' ' && c!='.' && c!='!' && c!='?'){S[i]=c; i++;}
        }

    while(S[0]!='D' && S[1]!='O' && S[2]!='N' && S[3]!='E'){
        strupr(S);

        for(i=0;S[i]!='\n';i++){}

        for(a=0,b=(i-1); a<=b; a++,b--){
            if (S[a]!=S[b]){x+=1;}
        }
        if (x==0){printf("You won't be eaten!\n");}
        else {printf("Uh oh..\n");}
        c=a;
        x=0;


        for(i=0;c!='\n';){
            scanf("%c",&c);
            if (c!=',' && c!=' ' && c!='.' && c!='!' && c!='?'){S[i]=c; i++;}
        }

    }
    return 0;
}

为什么我会犯这个错误?

最佳答案

strupr()看起来像一个仅限Windows的调用。

关于c - “未在此范围内声明函数strupr”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29571898/

10-10 09:16