回 帖 发 新 帖 刷新版面

主题:刚学c语言,请问这个程序逻辑运算部分怎么理解?万分感谢!!

#include <stdafx.h>
#include <string.h>
void main()
{    int i,j,len1,len2,flag=0,m,n,e;
     char str1[80],str2[80];
printf("Enter first string :");
gets(str1);
printf("Enter second string :");
gets(str2);
len1=strlen(str1),len2=strlen(str2);
for(i=0;i<=len1-len2;i++)
{  flag=-1;
        for(j=i;j<len2+i;j++)
        if(str1[j]!=str2[e=j-i])   
 { flag=0; break;}
             if(flag)
{flag=i+1; break;}
 
    }
if(flag) 
printf("%s is in %s at position %d\n",str2,str1,flag);

else
           printf("%s is not in %s at position %d\n",str2,str1,flag);


 


}

回复列表 (共1个回复)

沙发

代码有问题,对于char型数据不能直接用“==”来比较是否相等,而应用strcmp()函数

另外,你第二个for循环怎么连花括号都没有,程序无法正常执行!

我来回复

您尚未登录,请登录后再回复。点此登录或注册