C语言,题目和程序代码如下,可以帮我解释一下for以下的每一句的意思吗?最好用注释//解释在每句后面。

#include<stdio.h>#include<string.h>intmain(){chara[3][100],a0[10],*p,*searchPtr;inti,... #include <stdio.h>#include <string.h>int main(){ char a[3][100],a0[10],*p,*searchPtr; int i,count=0; gets(a[0]); gets(a[1]); gets(a[2]); gets(a0); strlwr(a[0]); strlwr(a[1]); strlwr(a[2]); strlwr(a0); for(i=0;i<3;i++) { searchPtr=strstr(a[i],a0); if(searchPtr!=0) { p=searchPtr; count++; while(1) { searchPtr=strstr(p+1,a0); if(searchPtr==0)break; p=searchPtr; count++; } } } printf("%d",count); return 0;}再帮忙简化一下吧,哪些语句可以简化或者删除 展开
 我来答
fly1000fans
2016-12-10 · 超过27用户采纳过TA的回答
知道答主
回答量:67
采纳率:100%
帮助的人:36.6万
展开全部
#include <stdio.h>
#include <string.h>

int main()
{
    char a[3][100] = {{0}};
    char a0[10] = {0};
    char *p;
    int count=0;
    int i = 0;
    int len = 0; 
    
    gets(a[0]);
    gets(a[1]);
    gets(a[2]);
    gets(a0);

    to_lower(a[0]);
    to_lower(a[1]);
    to_lower(a[2]);
    to_lower(a0);
    len = strlen(a0);
    
    for(i=0;i<3;i++)
    {   
        p = a[i];
        
        while (1)
        {
            if (NULL == (p = strstr(p, a0)))
            {
                break;
            }
            
            count++;
            p += len;
        }
    }
    
    printf("%d",count);

    return 0;
}

其中to_lower是我自己的函数,你替换成strlwr就可以了,我没有VC的编译环境


运行结果:

追问
可以帮我解释一下for下面每句话的意思吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式