C语言 求大神能不能给每一段做注释

for(i=0;i<l1;)
{
k=0;
f=1;
while(f)
{

if(*(strSource+i+k)!=*(strLin+k))
f=0;
else
f=f+1;

k++;

if(f==l2+1)
{

t++;
f=0;

printf("位置为:%d\n",i);
}

}

i+=k;
}

典型的代码不全,无法注释!
让别人注释,你最好是能先说明一下这段代码实现了什么功能。每个变量要能找到定义,和初始化的地方吧。

因为不知道代码实现了什么功能,所以无法说的准确。
for(i=0;i<l1;)
{
k=0;
f=1;
while(f)
{
// 比较 strSource(按 k 增加) 与 strLin 的数值
if(*(strSource+i+k)!=*(strLin+k)) // strSource 和 strLin 不知道是什么关系!!!
f=0; // 相同时,置 while 退出标志;否则 f 加 1
else
f=f+1;

    k++;

    if(f==l2+1)     // f 等于 13 时置 while 退出标志,输出 i
    {
        t++;
        f=0;
        printf("位置为:%d\n",i);
    }
}
i+=k;

}

给你个地址:
codepad.org
把你的完整代码贴上去,左边选择C++
然后提交,把地址贴出来。

你这代码第一行就根本狗屁不通没法编译

 #include <stdio.h>

//数组中有3N+1个元素,其中有N个元素是出现3次,只有一个元素是出现一次的
//返回只出现一次的元素
int singleNumber(int A[], int n)
{
    int one = 0;
    int two = 0;
    int three = 0;
    for (int i = 0; i < n; i++)
    {
        two |= A[i] & one;
        one = A[i] ^ one;
        three = ~(one&two);
        one &= three;
        two &= three;
    }
    return one;
}

int main()
{
    int arr[10] = { 2, 4, 4, 7, 3, 3, 3, 4, 2, 2 };
    printf("%d\n", singleNumber(arr, 10));
    return 0;
}

代码不全且格式不好,最起码楼主也要像这样发代码吧

这个感觉有点无能为力了。应该看起来像是统计个啥东西

#include
#include
void exchange(char*strSource,char*strFind,char*strReplace);
void main()
{

char strSource[6000],strLin[100],strFind[100],strReplace[100];
int i,t=0,l1,l2,k,f;
puts("母串为:");
gets(strSource);
puts("要查找的子字符串为:");
gets(strLin);
puts("被替换的子字符串为:");
gets(strFind);
puts("子字符串被替换为:");
gets(strReplace);
exchange(strSource,strFind,strReplace);
printf("母串为:%s\n",strSource);
printf("要查找的子字符串为:%s\n",strLin);
l1=strlen(strSource);
l2=strlen(strLin);
for(i=0;i<l1;)
{
k=0;
f=1;
while(f)
{

if(*(strSource+i+k)!=*(strLin+k))
f=0;
else
f=f+1;

k++;

if(f==l2+1)
{

t++;
f=0;

printf("位置为:%d\n",i);
}

}

i+=k;
}
if(t==0)
printf("-1\n");
printf("被替换的子字符串为:%s\n",strFind);
printf("子字符串被替换为:%s\n",strReplace);
printf("替换后母串为:%s\n",strSource);
}

for(i=0;i<l1;) //i=0时,如果i<l1,那么往里执行
{

k=0; //把0赋给k
f=1; //把1赋给f
while(f) //如果f不等于0就往里执行
{
if(*(strSource+i+k)!=*(strLin+k)) //判断括号里条件是否成立成立执行f=0,不成立执行else
{
f=0;
}
else
{
f=f+1;
}

    k++;                                    //执行完上面的k的值加1再赋给k

    if(f==l2+1)                             //判断f是否等于13,是往里执行不是往下执行
    {
        t++;                                //同前面
        f=0;                                //同前面 
        printf("位置为:%d\n",i);         //输出i的值
    }   
}
i+=k;                                       //把i的值加上k的值再赋给i

}