C中的简单功能问题

时间:2011-05-29 11:12:23

标签: c

我是C新手,编译此代码时遇到问题。

#include <stdio.h>

void suma( int a, int b, int wynik)
{
    wynik=0;
    printf("a=\n");
    scanf("%d",&a);
    printf("b=\n");
    scanf("%d",&b);
    wynik=a+b;
    printf("wynik = %d",&wynik);
}


int main()
{
    suma(int a, int b, int wynik);
}

我不知道为什么但编译器告诉我2参数的int类型为int * insted。我不知道这是什么意思,我错了。

2 个答案:

答案 0 :(得分:5)

更改

printf("wynik = %d",&wynik);

printf("wynik = %d",wynik);

否则,您将以整数形式打印wynik的地址。

您拨打suma的方式也毫无意义。

答案 1 :(得分:0)

printf("wynik = %d",&wynik);更改为printf("wynik = %d",wynik);

而且你似乎也不需要suma的论据。

试试这个:

void suma()
{
    int a,b,wynik;
    wynik=0;
    printf("a=\n");
    scanf("%d",&a);
    printf("b=\n");
    scanf("%d",&b);
    wynik=a+b;
    printf("wynik = %d",wynik);
}


int main()
{
    suma();
}