ahr123 发表于 2018-8-13 09:58:33

C语言数列的值倒过来问题

#include<stdio.h>
void main()
{
        int a,i;
        void swap(int c);
        for(i = 0 ;i < 10 ;i++)
        {
                scanf("%d",&a);
        }
        swap(int a);
        for(i = 0 ;i < 10 ;i++)
        {
                printf("%d\n",a);
        }
}
void swap(int c)
{
        int b,i;
        for(i = 0; i < 10 ;i++)
        {
                b = c;
        }
        for(i = 0; i < 10 ;i++)
        {
                c = b;
        }
}

报错是
Compiling...
1.c
D:\C\swap\1.c(10) : error C2143: syntax error : missing ')' before 'type'
D:\C\swap\1.c(10) : error C2198: 'swap' : too few actual parameters
D:\C\swap\1.c(10) : error C2059: syntax error : ')'
执行 cl.exe 时出错.

swap.exe - 1 error(s), 0 warning(s)


都错在       
swap(int a);
这行
啥原因,啥意思呢,求解释
感谢各位大佬

BngThea 发表于 2018-8-13 11:08:54

数组传递只能传地址,而不能同时传长度,需要这样写
void swap(int *a, int length)
来同时传递数组及其长度

ahr123 发表于 2018-8-13 11:23:10

#include<stdio.h>
void main()
{
        int a,i;
        void swap(int c[],int n);
        for(i = 0 ;i < 10 ;i++)
        {
                scanf("%d",&a);
        }
        swap(int a,int n);
        for(i = 0 ;i < 10 ;i++)
        {
                printf("%d\n",a);
        }
}
void swap(int c[],int n)
{
        int b,i;
        for(i = 0; i < 10 ;i++)
        {
                b = c;
        }
        for(i = 0; i < 10 ;i++)
        {
                c = b;
        }
}

还是不行呀,提示一样的错误,大佬

claws0n 发表于 2018-8-13 12:12:49

#include<stdio.h>

void swap(int c);

void main()
{
    int a,i;
   
    printf(""); //加个提示吧
    for(i = 0 ;i < 10 ;i++)
    {
      scanf("%d", &a);
    }
    swap(a);   // 不是 swap(int a)
    printf("\n");
       
    for(i = 0 ;i < 10 ;i++)
    {
      printf("%d\n", a);
    }
}

void swap(int c) //没帮你检查
{
    int b,i;
    for(i = 0; i < 10 ;i++)
    {
            b = c;
    }
    for(i = 0; i < 10 ;i++)
    {
            c = b;
    }
}

ahr123 发表于 2018-8-13 17:37:18

已解决,感谢大佬~
页: [1]
查看完整版本: C语言数列的值倒过来问题