#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)是定义返回结构体的函数吗?