| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 419 人关注过本帖
标题:总是提示error C2059: syntax error : ']',各位大神帮我找找原因!
只看楼主 加入收藏
wangpeng1530
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-25
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
总是提示error C2059: syntax error : ']',各位大神帮我找找原因!
#include<stdio.h>
void main()
{
    int a[10];
    char op;
    int i,n;
    int big(int n,int a[]);
    int small(int n,int a[]);
    for(i=0;i<=10;i++){
            printf("Enter %d numbers",i);
            scanf("%d";&a[i]);
    }
    printf("Enter A or D:");
        scanf("%c",&op);
        if(op='A'){
        for(i=1;i<=10;i++){
        printf("%d",small(n,a[]));
        }
        }
    else
        for(i=1;i<=10;i++){
        printf("%d",big(n,a[]));
        }
}
        
        
        int big(int n,int a[])
        {
            int i,j,t;
            for(i=1;i<=10;i++){
                for(j=0;j=10-i;j++)
                    if(a[j]<a[j+1])
                        a[j]=t;a[j]=a[j+1];a[j+1]=t;
            }
        }
        
        
        int small(int n,int a[])
        {
            int i,j,t;
        for(i=1;i<=10;i++){
            for(j=0;j=10-i;j++)
                if(a[j]>a[j+1])
                    a[j]=t;a[j]=a[j+1];a[j+1]=t;
        }
        }



搜索更多相关主题的帖子: include numbers 
2013-04-26 20:50
lishaobo
Rank: 1
等 级:新手上路
帖 子:4
专家分:6
注 册:2012-3-13
收藏
得分:4 
#include<stdio.h>
void main()
{
    int a[10];
    char op;
    int i,n;
    int big(int n,int a[]);
    int small(int n,int a[]);
    for(i=0;i<=10;i++){
            printf("Enter %d numbers",i);
            scanf("%d";&a[i]);
    }
    printf("Enter A or D:");
        scanf("%c",&op);
        if(op='A'){
        for(i=1;i<=10;i++){
        printf("%d",small(n,a[]));//这是不是错啦,该为a[i];
        }
        }
    else
        for(i=1;i<=10;i++){
        printf("%d",big(n,a[]));//同上
        }
}
        
        
        int big(int n,int a[])
        {
            int i,j,t;
            for(i=1;i<=10;i++){
                for(j=0;j=10-i;j++)
                    if(a[j]<a[j+1])
                        a[j]=t;a[j]=a[j+1];a[j+1]=t;
            }
        }
        
        
        int small(int n,int a[])
        {
            int i,j,t;
        for(i=1;i<=10;i++){
            for(j=0;j=10-i;j++)
                if(a[j]>a[j+1])
                    a[j]=t;a[j]=a[j+1];a[j+1]=t;
        }
        }
2013-04-26 21:03
P40714107
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2012-12-25
收藏
得分:4 
#include<stdio.h>
void main()
{
    int a[10];
    char op;
    int i,n;
    int big(int n,int a[]);
    int small(int n,int a[]);
    for(i=0;i<=10;i++){//i不能取10,数组越界
            printf("Enter %d numbers",i);
            scanf("%d";&a[i]);
    }
    printf("Enter A or D:");
        scanf("%c",&op);
        if(op='A'){
        for(i=1;i<=10;i++){//同上
        printf("%d",small(n,a[]));
        }
        }
    else
        for(i=1;i<=10;i++){
        printf("%d",big(n,a[]));
        }
}
        
        
        int big(int n,int a[])
        {
            int i,j,t;
            for(i=1;i<=10;i++){
                for(j=0;j=10-i;j++)
                    if(a[j]<a[j+1])
                        a[j]=t;a[j]=a[j+1];a[j+1]=t;
            }
        }
        
        
        int small(int n,int a[])
        {
            int i,j,t;
        for(i=1;i<=10;i++){
            for(j=0;j=10-i;j++)
                if(a[j]>a[j+1])
                    a[j]=t;a[j]=a[j+1];a[j+1]=t;
        }
        }

2013-04-26 22:34
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:4 
错误有点多啊!
1、数组下标越界,对于你的 for(i=0;i<=10;i++){//i不能取10,数组越界,这样的你写的都是错的;
2、int small(int n,int a[])和 int big(int n,int a[])这两个函数都是int类型,你没有返回值;
3、for(i=1;i<=10;i++){
        printf("%d",small(n,a[]));//这是不是错啦,该为a[i];
和 else
        for(i=1;i<=10;i++){
        printf("%d",big(n,a[]));//同上
这个都是错误的,你是想输出数组中的数据,但是那时两个函数,你又没有给它们返回值,而且函数的功能是实现某功能,你最多是判断是否执行成功,对于数组的元素可以在函数中直接输出;然后主函数调用函数即可;还有就是参数数组,不哦那个家[]号;还有就是你的n根本没有值,所以没结果了,我也没看懂它有什么用,我给它赋值为10;
修改了下:
#include<stdio.h>
void main()
{
    int a[10];
    char op;
    int i,n=10;
    int big(int n,int a[]);
    int small(int n,int a[]);
    for(i=0;i<10;i++)
    {
            printf("Enter %d numbers",i);
            scanf("%d",&a[i]);
    }
    printf("Enter A or D:");
        scanf("%c",&op);
        fflush(stdin);
        if(op=='A')small(n,a);
        else if(op=='D')
       big(n,a);
        
}
        
        
        int big(int n,int a[])
        {
            int i,j,t;
            for(i=1;i<10;i++){
                for(j=0;j=10-i;j++)
                    if(a[j]<a[j+1])
                        a[j]=t;a[j]=a[j+1];a[j+1]=t;
            }
            for(i=0;i<10;i++)
                printf("%d",a[i]);
            return 0;
        }
        
        
        int small(int n,int a[])
        {
            int i,j,t;
        for(i=1;i<10;i++){
            for(j=0;j=10-i;j++)
                if(a[j]>a[j+1])
                    a[j]=t;a[j]=a[j+1];a[j+1]=t;
        }
        for(i=0;i<10;i++)
                printf("%d",a[i]);
            return 0;
        }





Maybe
2013-04-26 22:55
快速回复:总是提示error C2059: syntax error : ']',各位大神帮我找找原因!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030407 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved