很简单的程序,希望你帮帮我,哪里错了?

作者在 2010-05-22 18:58:26 发布以下内容
#include <stdio.h>
void main()
{
void range(int *p);
int i,a[3],*p;
p=a;
printf("input 3 number:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
range(a);
printf("b[3]=");
for(i=0;i<3;i++)
printf("%d",p++);
printf("\n");
}
void range(int *a)
{
int i,b[3],d;
for(i=0;i<2;i++)
{
if(b[i]>b[i+1]){d=b[i+1];b[i+1]=b[i];b[i]=d;}
}
}
默认分类 | 阅读 714 次
文章评论,共7条
帆乐2010(作者)
2010-05-22 19:00
1
要求:运用指针和调用函数把三个输入的数从小到大输出。
heboqian
2010-05-25 09:39
2
#include &lt;stdio.h&gt;<br />
<br />
int main(void)<br />
{<br />
&nbsp; &nbsp; &nbsp; &nbsp; void range(int *p);<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; int i;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int a[3];<br />
&nbsp; &nbsp; &nbsp; &nbsp; int *p;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; p = a;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; printf(&quot;input 3 number:&quot;);<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; for (i = 0; i &lt; 3; i++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scanf(&quot;%d&quot;,&amp;a<i>);&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; range(a);<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; for (i = 0; i &lt; 3; i++,p++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf(&quot;%d\n&quot;,*p);&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; return 0;<br />
}<br />
<br />
void range(int *a)<br />
{<br />
&nbsp; &nbsp; &nbsp; &nbsp; int i;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int d;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int j;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; j = 2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; while (j &gt; 0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (i = 0; i &lt; 2; i++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (a<i> &gt; a[i+1])<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d = a[i+1];<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a[i+1] = a<i>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a<i> = d;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j --;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
}
明晟
2010-05-26 22:13
3
#include &quot;stdafx.h&quot;<br />
#include&quot;stdio.h&quot;<br />
void main()<br />
{<br />
&nbsp; &nbsp; &nbsp; &nbsp; void range(int *p);<br />
&nbsp; &nbsp; &nbsp; &nbsp; int i,a[3];<br />
&nbsp; &nbsp; &nbsp; &nbsp; printf(&quot;input 3 numbers:\n&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; for(i=0;i&lt;3;i++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scanf(&quot;%d&quot;,&amp;a<i>);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; range(a);<br />
&nbsp; &nbsp; &nbsp; &nbsp; printf(&quot;\n&quot;);<br />
}<br />
void range(int *p)<br />
{<br />
&nbsp; &nbsp; &nbsp; &nbsp; int i,j,d;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int b[3];<br />
&nbsp; &nbsp; &nbsp; &nbsp; for(i=0;i&lt;3;i++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b<i>=*p;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p++;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; for(i=0;i&lt;2;i++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(j=0;j&lt;2-i;j++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(b[j]&gt;b[j+1])<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d=b[j];b[j]=b[j+1];b[j+1]=d;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; for(i=0;i&lt;3;i++)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf(&quot;%5d&quot;,b<i>);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
}
明晟
2010-05-26 22:23
4
最后是b<i>,漏了,不好意思。主要错误是range函数中b[3]没有通过指针与a[3]连接,相当于没有赋值,数据为系统随机的。
帆乐2010(作者)
2010-06-20 20:08
5
哦,谢谢。我再调试一下。
帆乐2010(作者)
2010-06-20 20:20
6
<img src="http://ftphi.bccn.net/001/201006/20/456620_127703642425J4.jpg">
帆乐2010(作者)
2010-06-20 20:30
7
<img src="image/face/24.gif" class="face">不会是死循环吧?
游客请输入验证码
文章分类