首页 > c程序win-tc编译成功,gcc编译失败!

c程序win-tc编译成功,gcc编译失败!

#include <malloc.h>
#include <stdio.h>
#define MAXLEN  25
typedef struct string
{
    char ch[MAXLEN];
    int len;
}STRING;
STRING insert(s,s1,i)
STRING s,s1;
int i;
{   
    int j;
    STRING s2 = {"",0};
    if(s.len+s1.len>=MAXLEN||(i>s.len+1)||(i<1)){
        printf("overflow\n");
        return(s2);
    }else{
        for(j=s.len;j>=i;j--){
            s.ch[j+s.len-1]=s.ch[j-1];
        }
        for(j=0;j<=s1.len;j++){
            s.ch[j+i-1]=s1.ch[j];
        }
        s.len = s.len+s1.len;
        s.ch[s.len]="\0";
        return(s);
    }
}
main(){
    STRING a = {"beijing china",13};
    STRING a1 = {"shanghai",8},s;
    int i = 8;
    s = insert(a,a1,i);
    if(s.len!=0){
        for(i=0;i<s.len;i++){
            printf("%c",s.ch[i]);
        }
        printf("\n%d\n",s.len);
        getch();
    }
}

//求大神看下是怎么回事,谢谢
//gcc报错信息:C:\Users\Administrator\Desktop\4-4.c:9:15: error: 's' was not declared in this scope
C:\Users\Administrator\Desktop\4-4.c:9:17: error: 's1' was not declared in this scope
C:\Users\Administrator\Desktop\4-4.c:9:20: error: 'i' was not declared in this scope
C:\Users\Administrator\Desktop\4-4.c:10:1: error: expected ',' or ';' before 'STRING'
C:\Users\Administrator\Desktop\4-4.c:12:1: error: expected unqualified-id before '{' token


嗯嗯,找到问题了,去掉分号了,谢谢


1、STRING insert(s,s1,i)
上面这一句有问题,s、s1、i未定义,结尾没有分号。

2、STRING insert(s,s1,i)是定义返回结构体的函数吗?

【热门文章】
【热门文章】