此代码可以运行,但会出现冲突.请解释一下原因.谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/24 08:20:41
// swap1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "iostream"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
char p[10]="sdfrwefa\0",q[30]="euirfrthydrt\0";
char *f,temp,j;
f=p;
cout<<"p is : "<<p<<"\nf is: "<<f<<endl;
int i=0,id=1,ida=1;

while(1)
{
if(*f=='\0')
id=0;
if(q[i]=='\0')
ida=0;
temp=*f;
j=q[i];
if(id==1)q[i]=temp;
if(ida==1) p[i]=j;
if(*f=='\0'&&q[i]=='\0')break;
f++;
i++;
}

cout<<"q is ;"<<q<<endl;
cout<<"p is ;"<<p<<endl;
return 0;
}

解释:
1> 当i == 8的时候,*f 的值为 0, id 为0, ida为1,这个时候你将
q[8]赋值给了 p[8],是没有问题的.
2> 当 i == 9的时候,*f的值仍然为9, id仍然为0(它已经回不到1了), ida也仍然为1,p[9] = q[9]也没有问题。
3> 当 i == 10的时候就有问题了,p[10]的访问已经越界了,它是个随机值

此代码可以运行,但会出现冲突.请解释一下原因.谢谢! ADODB.Recordset (0x800A0CC1)调试时出现此问题,具体相关代码如下,我删除这些代码之后就可以运行. 跑跑下载后运行为何会出现冲突错误 安装两个杀毒软件,但只运行一个,会使杀毒软件冲突? java 程序可以编译过去,但运行时出现错误!! 有谁可以帮我看一下这段代码哪里有错,我运行的时候它会出现表达式不合法的提示 我的u盘打不开了,在电脑上可以显示但一双击就出现:“无法访问F:\。由于I/O设备错误,无法运行此项请求! 求!!!右下角图标消失了,但进程还在运行,不结束此进程再让此图标出现的方法 帮我看下这段代码,运行出现错误 为什么我电脑会出现ip冲突??