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
}