在线!!!急急!!!C语言改错题!

来源:百度知道 编辑:UC知道 时间:2024/09/24 15:27:25
#include<stdio.h>
#define N 10
main()
{
void maxmin(int arr[],int *pt1,int *pt2,int n);
int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
p1=&a; p2=&b;
maxmin(array,p1,p2,N);
printf("max=%d,min=%d",a,b);
}
void maxmin(int arr[],int *pt1,int *pt2,int n)
{
int i;
*pt1=*pt2=arr[0];
for(i=1;i<n;i++)?
{
if(arr[i]>*pt1) *pt1=arr[i];
if(arr[i]<*pt2) *pt2=arr[i];
}

}

其实是没有错误,因为我把你的程序复制下来后运行就 for(i=1;i<n;i++)这个说不能识别的符号,可能你用中文输入法输入了,建议你用英文输入法把 for(i=1;i<n;i++)重写一遍,应该就对了。刚才又看了一下,原来是你的for语句后面有两个不可见的符号,你手抖了一下吧?

#include<stdio.h>
#define N 10
main()
{
void maxmin(int arr[],int *pt1,int *pt2,int n);
int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
p1=&a; p2=&b;
maxmin(array,p1,p2,N);
printf("max=%d,min=%d",a,b);
}
void maxmin(int arr[],int *pt1,int *pt2,int n)
{
int i;
*pt1=*pt2=arr[0];
for(i=1;i<n;i++)//错误在这里,)后面有不可见的中文字符
{
if(arr[i]>*pt1) *pt1=arr[i];
if(arr[i]<*pt2) *pt2=arr[i];
}
}