我没看出来,我不过,你编译时通过了吗
比如: char a[80]; //也是 a或a[]
int flag=1, a; //定义了a
比如: char a[80]; //也是 a或a[]
int flag=1, a; //定义了a
为自己喜欢游戏做一个自动打怪的程序QQ: 7325231 YY4350晚上编程课欢迎大家来听
# include <stdio.h> #include"string.h" int string_in(char* str1,char* str2) { int p,l2; l2=strlen(str2); //把字符串2的长度赋给l2 if(*str2) // s2 第一个字符不是空 进行下面的操作 { while(*str1) // s1 不是结束符作为循环条件 { if(*str1==*str2) //字符串1和字符串2第一个字符相比,如果相等,做下面的运算 { for(p=0;*(str1+p)==*(str2+p);p++) //s1 s2 从第一个字符开始比较并同时往下移一个字符 { while(p>=(l2-1)) //当p自增到把s2跑完的时候,则表示字符串1包含字符串2 return 1; //返回1 } } else if(*str1!='\n') str1++; //str1自增,使其找到与str2字符串首字符的字符。 else return 2 ; //当str1自增到结束的时候,他里面都没有字符串与str1相等,那就返回2 } } return 2; } char main() { char i[80],b[80]; char* str1=i; char* str2=b; int flag=1,a; while(flag==1) { printf("imput string1 :\n"); gets(str1); printf("imput string2 :\n"); gets(str2); if(strlen(str1)<strlen(str2)) { flag=1; printf("字符串1比字符串2多才对!"); } else flag=0; } a=string_in(str1,str2); printf("%d",a); return 0; } /*void w(int* a,int* b) //在main里面 w(&x, &y); { int c; c= *a; *a=*b; *b=c; } int main (void) { int x,y; printf("请输入2个数:"); scanf("%d,%d",&x,&y); if(x>y) w( &x, &y); printf("%d %d",x,y); return 0; }*/我改了下, 但能编译通过了,我也不太明白,我慢慢看,. VC6.0 能返回1 2