:::TC2环境下:::
程序如下:求一数组中的最大值并返回其下标:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,max,k,i,* p;
printf("please input the array size m: \n");
scanf("%d",&m);
p=(int *)malloc(m*sizeof(int));
for(i=0;i<m;i++)
{
scanf("%d",p+i);
}
max=*p;
for(i=0;i<m;i++)
{
if(*(p+i)>max) { max=*(p+i) ;k=i;}
}
printf(" %5d %5d ",k,max);
}
结果总是不对,不知道为什么?
我单步执行的时候,发现运行到这里就不对了:
max=*(p+i) 编译器提示: side effects are not allowed
这里为什么不对了?我感觉没有错啊。
问题点数:20、回复次数:1Top
1 楼ma100()回复于 2006-02-25 18:24:50 得分 20
scanf("%d",&p[i]);Top




