代码编译无错,但打开程序输入数据会中途提示程序因问题而停止工作,求解
程序的本意是输入十个数字,将最小的数字和第一个数字调换,最大的数字和最后一位数字调换。代码编译无错,但是运行程序开始输数据的时候,输到第五个数字就会提示说程序因问题而停止工作。各位同志,帮看看为什么会这样吧。
程序代码:#define aa 10
#include<stdio.h>
int main()
{
int num[aa],i,*max,*min,temp;
max=&num[0];
min=&num[0];
for(i=0;i<aa;i++)
{
scanf("%d",num[i]);
}
for(i=0;i<aa;i++)
{
if(num[i]>*max)
*max=num[i];
if(num[i]<*min)
*min=num[i];
}
if(min!=(num+0))
{
temp=num[0];
num[0]=*min;
*min=temp;
}
if(max!=(num+3))
{
temp=num[3];
num[3]=*max;
*max=temp;
}
for(i=0;i<aa;i++)
{
printf("%d ",num[i]);
}
}
解决了,呵呵,原来是scanf("%d",num[i]);里忘了加地址符。
[ 本帖最后由 将是高手 于 2011-10-17 20:12 编辑 ]






