⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_49393.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:49393 发表者:很菜 发表日期:2003-08-09 22:48:27
<br>主题:用new出现的问题
<br>内容:int *a,m,n,x,y;<BR>m=100,n=120<BR><BR>a=new int [n*m];&nbsp;&nbsp;//能够申请到内存<BR>//由于出过一次错,我加了下面这段 赋初值<BR>for (x=0;x&lt;m;x++)<BR>{<BR>&nbsp;&nbsp;for (y=0;y&lt;n;y++)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;a[x,y]=0;<BR>&nbsp;&nbsp;}<BR>}<BR>//上面这一段之后,好象都成了0<BR>接下来,在另一个函数用这样<BR>a[1,2]=1;&nbsp;&nbsp; //比如这样,接着,a[1,0-&gt;m]都成了1 !!!<BR><BR>为什么会这样?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:野猫 回复日期:2003-08-09 23:09:53
<br>内容:我试了一下,不会出现你说的问题
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:很菜 回复日期:2003-08-09 23:39:20
<br>内容:那可能是我用的VC有问题吧!<BR><BR>我用VC建立exe的向导,建立出来之后,直接运行,<BR>当鼠标移到这个“刚建立”并“运行”的程序的工具栏的时候,<BR>就会出现非法操作,并退出这个程序<BR><BR>你们会不会出现这样错误?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:野猫 回复日期:2003-08-10 00:32:55
<br>内容:....重装吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:木一 回复日期:2003-08-10 03:32:36
<br>内容:a[x,y]=0;这种写法都有问题,是什么意思啊?BASIC语法吗?<BR><BR>改成a[x][y] = 0:试一下吧<BR>我现在没有安装编译器,没法验证.<BR>&nbsp;&nbsp;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:野猫 回复日期:2003-08-10 14:04:26
<br>内容:a[x,y]和a[y]其实是一样的,楼主说的问题应该是a[1,2]=1;赋值后a[0-&gt;m,2]都为1吧?<BR><BR>改成a[x*n+y]的形式吧。<BR><BR>4楼说的改成a[x][y],这样好象就不能动态制定大小了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:很菜 回复日期:2003-08-10 18:03:26
<br>内容:多谢多谢!<BR><BR>我回家试试!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:VChen 回复日期:2003-08-11 11:53:39
<br>内容:这个不是NEW的问题,是你的a[x,y]的问题;因为在VC中逗号紧紧是一个表达式,所以a[x,y]相当于a[x],而后面的y是无意义的。我们可以这样调试,如下:<BR><BR>int *a,m,n,x,y;<BR>m=100,n=120<BR>int b;&nbsp;&nbsp;&nbsp;&nbsp;// 新添加的一个变量<BR>a=new int [n*m];&nbsp;&nbsp;//能够申请到内存<BR>//由于出过一次错,我加了下面这段 赋初值<BR>for (x=0;x&lt;m;x++)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;for (y=0;y&lt;n;y++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = x, y;&nbsp;&nbsp; // 变量b为x,y的值<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[b]=0;&nbsp;&nbsp;// 或者 a[x,y] 是一样的<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR>这样你就会发现b永远等于x,所以a[x,y]就等于a[x],因此你的数组是一个一维数组。我们把a[x,y]=a[x]代入,故a[1,2]=a[1,0-&gt;m]=a[1]。所以如果a[1,2]=1的话,所有的a[1,0-&gt;m]都等于1。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -