首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请高手指教,小弟我这程序,调了好久还没找出原因,找出原因的给高分哦!

2012-05-23 
请高手指教,我这程序,调了好久还没找出原因,找出原因的给高分哦!急!!C/C++ code#includestdio.h#include

请高手指教,我这程序,调了好久还没找出原因,找出原因的给高分哦!急!!

C/C++ code
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<malloc.h>#define maxstrlen 30#define error 0#define ok 1#define true 1#define false 0typedef char sstring[maxstrlen+1];int strassign(sstring t,char *chars){    int i;    if(strlen(chars)>maxstrlen)        return error;    else {        t[0]=strlen(chars);        for(i=0;i<=t[0];i++)            t[i]=*(chars+i-1);        return ok;        }    }int strcopy(sstring t,sstring s){    int i;    for(i=0;i<=s[0];i++)        t[i]=s[i];    return ok;}int strempty(sstring s){    if(s[0]==0)        return true;    else         return false;}int strcompare(sstring s,sstring t){    int i;    for(i=1;i<=s[0]&&i<=t[0];++i)            if(s[i]!=t[i])                    return s[i]-t[i];        return s[0]-t[0];}int strlength(sstring s){        return s[0];    }int clearstring(sstring s){    s[0]=0;    return ok;}int concat(sstring t,sstring s1,sstring s2){    int i;    if(s1[0]+s2[0]<=maxstrlen){        for(i=0;i<=s2[0];i++)            t[i]=s1[i];        for(i=1;i<=s2[0];i++)            t[s1[0]+i]=s2[i];        t[0]=s1[0]+s2[0];        return true ;    }    else {        for(i=1;i<=s1[0];i++)            t[i]=s1[i];        for(i=1;i<=maxstrlen-s1[0];i++)            t[s1[0]+i]=s2[i];        t[0]=maxstrlen;        return false;    }}int substring(sstring sub,sstring s,int pos ,int len){    int i;    if(pos<1||pos>s[0]||len<0||len>s[0]-pos+1)        return error;    for(i=1;i<len;i++)        sub[i]=s[pos+i-1];    sub[0]=len;    return ok;}int index (sstring s,sstring t,int pos ){    int i,j;    if(1<=pos&&pos<=s[0]){        i=pos;        j=1;        while(i<=s[0]&&j<=t[0])            if(s[i]==t[j]){                ++i;                ++j;            }            else{                i=i-j+2;                j=1;            }        if(j>t[0])            return i-t[0];        else             return 0;    }    else         return 0;}void strprint(sstring t){    int i;    for(i=1;i<=t[0];i++)        printf("%c",t[i]);    printf("\n");}


[解决办法]
main函数了?
[解决办法]
C/C++ code
int strassign(sstring t,char *chars){    int i;    if(strlen(chars)>maxstrlen)        return error;    else {        t[0]=strlen(chars);        for(i=1;i<=t[0];i++)            t[i]=*(chars+i-1);        return ok;    }} 

热点排行