求C语言高手 帮我看看这个程序那里有问题 错误好像都在最后的int main()里 #inclu

求C语言高手 帮我看看这个程序那里有问题
错误好像都在最后的int main()里

#include<stdio.h>
void Max( int *a,int *max,int n ) {
int i;

*max=a[0];
for( i=0;i<n;i++ ) {
if( *max<a[i] )
*max=a[i];
}
}
void Min( int *a,int *min,int n ) {
int i;

*min=a[0];
for( i=0;i<n;i++ ) {
if( *min>a[i] )
*min=a[i];
}
}

int main() {
int n;
printf("请输入 n 的值\n");
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
int max,min;
int *p1,*p2;
p1=&max;
p2=&min;
Max(a,p1,n);
Min(a,p2,n);
printf("max=%d\n min=%d\n",max,min);
}

C/C++的标准数组,是不支持动态创建的,你需要用指针来实现动态数组。

#include<stdio.h> 
void  Max( int *a,int *max,int n ) {
    int i;
    
    *max=a[0];
    for( i=0;i<n;i++ )  {
        if( *max<a[i] )
            *max=a[i];
}
}
void  Min( int *a,int *min,int n ) {
    int i;
    
    *min=a[0];
    for( i=0;i<n;i++ )  {
        if( *min>a[i] )
            *min=a[i];
    }
}

int  main() {
    int n;
    printf("请输入 n çš„值\n");
    scanf("%d",&n);
    int *a = new int[n];/////////////
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    int max,min;
    int *p1,*p2;
p1=&max;
p2=&min;
Max(a,p1,n);
Min(a,p2,n);
    printf("max=%d\n min=%d\n",max,min);
delete[] a;/////////////////////
return 0;
}追问

那一大推点斜杠啥意思

的

所以该怎么改

还在?

在?

追答

斜杠是注释,便于你查看区别。
所以,就这么改,已经可以运行了。

温馨提示:内容为网友见解,仅供参考
无其他回答

菜鸟 使用visual stdio编辑c语言一直报错 无效的预处理命令 “inclube...
include "stdio.h"int main(){ int a=123;int b=456;int c;c=a+b;printf("%d",c);return 0;} 看看代码吧,对比看看就行了

相似回答