代码编译无错,但打开程序输入数据会中途提示程序因问题而停止工作,求解
程序的本意是输入十个数字,将最小的数字和第一个数字调换,最大的数字和最后一位数字调换。代码编译无错,但是运行程序开始输数据的时候,输到第五个数字就会提示说程序因问题而停止工作。各位同志,帮看看为什么会这样吧。程序代码:
#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 编辑 ]